2016-05-31 83 views
-1

比方說,我有這樣的代碼:的Python - 參考最後一個元素

fields = ['a', 'b', 'c'] 

for field in fields: 
    d.pop(field) 
    d.append(field - 1) # Incorrect 

在不正確的行,如果我們在第二次迭代(「B」),如何引用到最後一個( '一個')?

+1

你能否提供更多的信息,你想達到什麼目的? – SilentMonk

回答

5

使用enumerate

for i,field in enumerate(fields): 
    d.pop(field) 
    if i > 0: 
    d.append(fields[i-1]) 
+1

這當然在第一次迭代失敗,因爲字段沒有索引'-1' – Jieter

+0

@Jieter編輯。 OP顯然必須處理這個問題。他想要做什麼並不是很清楚。 –

2

你不能,如果你想遍歷以這種方式列表,你可以使用:

for i in range(len(fields)): 
    d.pop(fields[i]) 
    d.append(fields[i-1]) 

而且很明顯,你要想想你想要什麼樣的行爲的第一個循環。

+0

不,你不需要。你可以使用'enumerate'這是一個更好的選擇。 '範圍(len(list))'不是pythonic方式。 –