【发布时间】:2011-11-22 19:58:12
【问题描述】:
如何在python中的for循环之前放置一条语句?如:
print i for i in range(10)
上面的例子似乎没有必要。但是当涉及到一个更复杂的生成器时,它可能会很方便并且是 Python 的:
print i for i in takewhile(lambda x: x < 100000, fibonacci()) if i % 2 == 0
当然,口译员会抱怨上述陈述。应该有一些标准和简单的方法来做到这一点,但我就是找不到。我知道我可以用列表理解做类似的事情:
print [i for i in range(10)]
但它会打印一个列表,而不是列表中的每个 i。不完全是我想要的。
【问题讨论】:
-
正常的
for循环有什么问题? -
如何将语句和复杂的生成器表达式(= 复杂度的两倍)放在一行中好吗?
-
没有错。我只是偏爱简洁的东西,尤其是单行字。