有没有更短的写法
for x in [x for x in X if a(x)]:
<Do something complicated with x>
不幸的是,以下方法不起作用:
for x in X if a(x):
<Do something complicated with x>
当然,我可以通过
for x in X:
if a(x):
<Do something complicated with x>
但这会引入额外的缩进级别
最佳答案
[b(x) for x in X if a(x)]
是最简单的,但会创建一个不必要的列表。 map(b, (x for x in X if a(x)))
将使用生成器,因此不会创建不需要的列表。 关于Python:For 循环遍历列表理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42746844/