将当前项与python列表中的下一项进行比较

Jul*_*uli 1 python

考虑到python列表,我如何将当前项目与下一个项目进行比较呢?例如:

mylist = [1, 2, 2, 4, 2, 3]
for i in mylist:        
    if i == next item:
       replace (both i and next item) with "same value"

 >>> [1, "same value", "same value", 4, 2, 3]  
Run Code Online (Sandbox Code Playgroud)

Pad*_*ham 11

你可以使用枚举:

mylist = [1, 2, 2, 4, 2, 3]
for i, j in enumerate(mylist[:-1]):
    if j  == mylist[i+1]: 
        mylist[i] = "foo" 
        mylist[i+1] = "foo"
print mylist
[1, 'foo', 'foo', 4, 2, 3]
Run Code Online (Sandbox Code Playgroud)

j是迭代中的当前元素,mylist[i+1]是下一个,if j=4,mylist[i+1] = 2etc .. mylist[:-1]遍历除了last之外的所有元素,所以最后mylist[i+1]一个元素获取列表中的最后一个元素.