如何在python中的for循环之前放置语句

时间:2011-11-22 19:58:12

标签: python for-loop

如何在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。不完全是我想要的。

3 个答案:

答案 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))