-1

I'm trying to remove all reversed numbers from a list but i can't remove some of them, for example I have defined

def reversed(num):
    reversed_num=0
    while num != 0:
        digit = num % 10
        reversed_num = reversed_num * 10 + digit
        num //= 10
    return reversed_num

and when I apply it here

lst = [13, 23, 31, 103, 113, 211, 223, 233, 311, 331]
print(reversed(223) not in lst)
for cat in lst:
    if reversed(cat) not in lst:
        lst.remove(cat)
print(lst)

I get this result, which I can't get it

True
[13, 31, 113, 223, 311]
endiku
  • 1

1 Answers1

0
def reversed(num):
    reversed_num = 0
    while num != 0:
        digit = num % 10
        reversed_num = reversed_num * 10 + digit
        num //= 10

    return reversed_num > 0


lst = [13, 23, 31, 103, 113, 211, 223, 233, 331]
print(reversed(223) not in lst)
for cat in lst:
    if reversed(cat):
        lst.remove(cat)
print(lst)

Some returns are zero it skip the remove function I guess and yeah better to use the right name function instead of using builtins.