如何按预期获得列表中的输出

how to get the output in list as expected

如何找到 list1 的输出,当它被反转时应该从输出中排除

示例: 32 reverse 是 23,它已经在列表 l1 中,因此应该将其排除在外。类似地,98 反向是 89,因此输出应该如下所示。

l1=[32,48,98,76,23,89]



output as  [48,76]

试过这个

l2=[]
x=[str(x) for x in l1]
print(x)      

for var in x:
    print(var,var[::-1])

o/p如下

32 23
48 84
98 89
76 67
23 32
89 98

如果反向32是23则排除它..

您已成功反转输入列表中的项目。 现在您需要做的就是检查输入列表中是否存在反转的项目。如果不是,则将这些项目附加到输出列表。 试试这个。

l1=[32,48,98,76,23,89, 470, 74]
l2=[]
x=[str(x) for x in l1]
print(x)      
out = []
for var in x:
    # print(var,var[::-1])
    if int(var[::-1]) not in l1:
        out.append(int(var))

print(out) #[48, 76, 74]

另一种不对字符串进行类型转换的方法如下:

l1=[32,48,98,76,23,89, 470, 74]
out = []
for num in l1:
    rev = 0
    curr = num
    while curr >0:
        rev = rev*10+curr%10
        curr = curr//10

    if rev not in l1:
        out.append(num)
print(out) # [48, 76, 74]

请注意,这两种方法仅在列表仅包含整数时才有效。 这也适用于以 0 结尾的数字。 例如:如果输入列表包含 470 和 74,则 470 将从输出中排除。 与 '470' = '074' 和 int('074') = 74 相反,因此此项将被排除。