如何在一条线上安装一个短循环?

时间:2014-06-21 19:21:34

标签: python python-2.7

让我们说我有一个这样的短循环:

for i in range(10):
    print "Hello"

如果可能的话,我可以将它放在一行上吗?

3 个答案:

答案 0 :(得分:4)

  

如果可能的话,我可以将它放在一行上吗?

可以将它放在一行:

for i in range(10): print "Hello"

但这对你没有多大意义,违背惯例。当没有理由(readability counts!)时,你不应该试图把很多东西塞进一条线上。

顺便说一句,通常_用作循环控制变量,当它在循环体中永远不需要时:

for _ in range(10):
    print "Hello"

答案 1 :(得分:1)

只需将声明放在:之后。

for i in range(10):  print "Hello"

答案 2 :(得分:1)

替代方案 - 使用map

(您将其标记为Python 2.7,因此我们最初没有打印功能)

假设你想对列表中的每个元素应用一个函数,map将会循环。

>>> from __future__ import print_function
>>> lst = ["a", "b", "c"]

现在我将print定义为一个函数并让列表循环:

>>> map(print, lst)
a
b
c
[None, None, None]

打印时[None, None, None] is list of results, which is无。返回列表需要花费一些时间。根据结果​​的进一步使用,它可能是小优点或缺点。

请注意,在Python 3中,map的行为略有不同,它返回特殊类型的map类型的结果,必须强制迭代,例如进入list电话。但这不在你的问题范围内。