考虑到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]
答案 0 :(得分:7)
您可以使用枚举:
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]
j
是迭代中的当前元素,mylist[i+1]
是下一个,如果j=4
,mylist[i+1] = 2
等。mylist[:-1]
遍历所有元素除了最后一个,所以最后mylist[i+1]
获取列表中的最后一个元素。