2013-07-30 55 views
1

这工作:Python的for循环语法

for i in range(0, 3): 
    print "hi" 

这不起作用:

for range(0, 3): 
    print "hi" 

,但我不需要 '我' 的任何东西。有没有一种方法可以写出'for'语句,而不用'i'或者具有相同角色的不同字符?

(通常情况下,它会像

for i in range(0, someReturnValue()) 
    someFunction() 

但问题是推广到我的第一个例子。)

回答

2

如果您不需要截枝变量(指数),最佳实践是使用_(这是真的,只是另外一个变量):

for _ in range(0, 3): 
    print "hi" 

另见:

+0

嘿,有一个问题已经 - 没有看到(和我看了!) – medivh

+0

附加问题:'_'的范围适用于该循环,据推测 - 如果我需要执行嵌套循环,将在内部循环中使用'_'将外部循环搞乱? – medivh

+0

你不应该在嵌套循环中使用相同的变量名称,请看一下:http://stackoverflow.com/questions/13255455/same-variable-name-for-different-values-in-nested-loops。在这种情况下打开你的想象:) – alecxe

3

如其他地方提到的,这是一个有趣的和可能更快的替代方案:

import itertools 

for _ in itertools.repeat(None, 3): 
    print 'hi'