2017-04-23 60 views
0

我有這樣一段代碼在Python 3:增量整數

i=0 
for item in splitDict(Team, 3): 
    i+=1 
    print("{1} #{0}".format(i,item)) 

我想要做的是:

i=0 
for item in splitDict(Team, 3): 
    print("{1} #{0}".format(i+=1,item)) 

通知我已經把增量進格式聲明。 但是當我運行它,我得到的錯誤:

print("{1} #{0}".format(i+=1,item)) 
          ^
SyntaxError: invalid syntax 

我的問題是我怎麼能得到它的打印語句中增加?

+1

爲什麼?隱藏您的代碼以保存一行;你會遇到麻煩找到一種流行的語言,這比Python更少慣用。 –

+1

這看起來像是一個xy問題 – Sinkingpoint

+1

只需使用['enumerate'](https://docs.python.org/3/library/functions.html#enumerate)並且您不必手動增加。 – roganjosh

回答

2

顯然你真的想使用enumerate爲您解決問題最好的。但要回答「我怎麼能增加iprint語句中」的具體問題...那麼你可以做以下非常醜陋的東西(它不是嚴格):

i=0 
for item in splitDict(Team, 3): 
    i += print("{1} #{0}".format(i + 1, item)) or 1 

但你不應該。使用enumerate

for i, item in enumerate(splitDict(Team, 3)): 
    print("{1} #{0}".format(i, item)) 
+0

非常感謝。我正在用python開始我的旅程。經驗教訓喜歡這個幫助明白我應該做什麼,不應該做什麼。 – Dan

0

抱歉,我不能讓你的原代碼的工作,這是我能想出

splitDict = ['a','b','c','d','e'] 
x=0 
for i,item in enumerate(splitDict, start=x): 
    print ('#'+str(i),item)