如何在python中的for循环之前放置语句?如:
print i for i in range(10)
以上示例似乎没必要。但是当谈到一个更复杂的发电机时,它可能很方便和pythonic:
print i for i in takewhile(lambda x: x < 100000, fibonacci()) if i % 2 == 0
当然,口译员会抱怨上述陈述。应该有一些标准和简单的方法来做到这一点,但我找不到它。我知道我可以用列表理解做类似的事情:
print [i for i in range(10)]
但它会打印一个列表而不是列表中的每个i。不完全是我想要的。
答案 0 :(得分:2)
你不能用Python做到这一点。
你可以把它放在后面:
for i in range(10): print i
但通常你会写两行。
for i in range(10):
print i
答案 1 :(得分:1)
我猜你不喜欢简单的方法吗?
for i in range(10):
print i
如果真的想要你正在谈论的语法,你可以试试这个:
from __future__ import print_function # Added in 2.6
map(print, range(10))
答案 2 :(得分:0)
这是另一种选择:
print '\n'.join(map(str, range(10)))
或发电机:
print '\n'.join(str(i) for i in range(10))