[英]How to write this python code in list comprehension
如果數字的每個元素均是偶數,則打印數字:
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
此列表理解有效:
b = [i for i in a if all(int(j)%2 == 0 for j in set(str(i)))]
>>> b
[222, 444]
它包括要設置的強制轉換,因此您僅查看組成每個元素的唯一字符。 而且,它使用all
來檢查該集合中的每個字符是否為偶數。
您也可以使用過濾器:
b = list(filter(lambda x: all(int(i)%2 == 0 for i in set(str(x))), a))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.