在一行中从范围打印物品的功能方式是什么?

时间:2017-10-26 11:10:25

标签: python

for i in range(0,30,3):
    print(i)

上面的命令循环的功能风格是什么?

lambda x: print(x), range(0,30,3)

3 个答案:

答案 0 :(得分:6)

此处不需要lambda。只需使用*解包操作符。

In [163]: print(*range(0, 30, 3))
0 3 6 9 12 15 18 21 24 27

如果你想要它们分开印刷,那也是可行的。

In [164]: print(*range(0, 30, 3), sep='\n')
0
3
6
9
12
15
18
21
24
27

答案 1 :(得分:0)

如果您使用的是python 2.x,则需要将来导入:

from __future__ import print_function #dont't need this for python 3.x
print(*range(0,30,3), sep='\n')

答案 2 :(得分:0)

功能性的做法是将集合映射到函数

map(print, range(30))

但是,因为在python map中返回一个生成器,你需要以某种方式迭代它,你可以通过将它转换为列表来做到这一点

list(map(print, range(30)))