2016-05-31 84 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方式。 –