gpt4 book ai didi

python - 如何以 "pythonic"方式编写 for 循环

转载 作者:太空宇宙 更新时间:2023-11-04 07:27:16 26 4
gpt4 key购买 nike

我想知道是否有一种“python-ic”方式来编写以下带有 if 语句的嵌套 forloop:

nonelist = []

for i in testlist:
for e in i:
if e == None:
nonelist.append(i)

最佳答案

您可以使用 itertools.chain 生成一个平面迭代器,并从那里检查项目是否为 None:

[i for i in itertools.chain.from_iterable(testlist) if i is None]

示例:

In [389]: testlist = [[1, 2, 3, None], [4, 5, None, None]]                                                                                                                                                  

In [390]: [i for i in itertools.chain.from_iterable(testlist) if i is None]
Out[390]: [None, None, None]

FWIW None 是单例,所以你应该对它们使用身份(is)测试而不是等式测试(==)。

关于python - 如何以 "pythonic"方式编写 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56778489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com