首页 > 解决方案 > 如何在列表理解中编写此 python 代码

问题描述

如果 number 的每个元素都是偶数,则打印 number:

a=[111,222,333,444,232,343]
count =0
b = []
for i in a:
    for j in str(i):
        if int(j) % 2 == 0:
            count +=1
            if count == len(str(i)):
                b.append(i)
        else:
            count = 0
            break
print b

标签: pythonlist-comprehension

解决方案


此列表理解有效:

b = [i for i in a if all(int(j)%2 == 0 for j in set(str(i)))]

>>> b
[222, 444]

它包括转换为设置,因此您只查看构成每个元素的唯一字符。此外,它还用于all检查该集中的每个字符是否是偶数。


推荐阅读