2013-07-30 157 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'