簡體   English   中英

如何在列表理解中編寫此python代碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM