2013-10-13 54 views
1

我正在使用Python 2.7。你如何使用引號內循環的索引?這出現在一個選項中。我曾嘗試將指數放入quote()以及%之後。python 2.7循環索引引號

例如:

for i in range(1, 10): 
    parser.add_option('-l', '--location', value="i") 
+0

爲什麼你認爲你需要引號呢? – kojiro

+1

你確定你需要一個字符串嗎?它看起來好像'價值'可以簡單地是整數值。如果不是,那麼'value = str(i)'也應該起作用。在某些情況下,您需要在字符串文字中執行變量插值,並且有辦法執行此操作(請參閱發佈的答案),但這不是其中之一。 – chepner

+0

這只是一個玩具的例子。值肯定是一個字符串,因爲我稍後將它連接到其他文本。 – user2876971

回答

2

使用format option字符串。

for i in range(1,10): 
    parser.add_option('-l', '--location', value="{0}".format(i)) 

要做到這樣簡單的東西,更好的方法是

for i in range(1,10): 
    parser.add_option('-l', '--location', value=str(i)) 
+0

我只是將我原來的帖子改爲我的實際問題。我想簡化打印語句過於簡化。 – user2876971

+0

同樣的方法適用於任何字符串,但有更好的方法來完成此操作。 –

1
for i in range(1,10): 
    print "This is the number {}".format(i) 
+2

在現代python代碼中不鼓勵使用'%'作爲字符串格式:http://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting –

+0

@Mattbryant:對! TKS!更新了我的答案! – user278064

1

爲什麼不簡單:

print "Number: %s" % 5 
+0

在現代Python代碼中不鼓勵使用'%':http://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting –

+0

@MattBryant是的,但同時每個Python程序員應該知道它。另外,我認爲'printf'風格格式化對BDFL來說無處不在,它完全擺脫了這個世界。所以+1。 – kojiro