Python - 区分列表中的项索引和FOR循环中项的内容的方法?

Geo*_*ina 0 python loops for-loop list duplicates

例如,如果我想遍历列表并对除最终列表条目之外的所有列表执行某些操作,我可以这样做:

z = [1,2,3,4,2]
for item in z:
    if item != z[-1]:        
        print z.index(item)
Run Code Online (Sandbox Code Playgroud)

但不是得到输出"... 0 1 2 3,"我得到"... 0 2 3."

有没有办法对除列表中的最后一项之外的所有项目(当列表中有IDENTICAL项目时)执行操作而不使用"for x in range(len(list) - 1)"类型的解决方案?即,我想继续使用"列表中的项目".

非常感谢!

Pet*_*ley 10

使用切片:

for item in z[:-1]:
    # do something
Run Code Online (Sandbox Code Playgroud)

  • 您可以通过在itertools模块中使用`islice`方法来减少创建切片的循环开销,如下所示:`for itertools.islice(z,0,len(z)-1)中的item: (3认同)