首页 > 解决方案 > Python - 如何检查列表中的下一个值是否与上一个相同?

问题描述

假设我们有这个数组:

arr2 = [2, 3, 1, 2, 2]

我尝试了以下方法:

for i,x in enumerate(arr2):
 
    if x == 2 and x[i+1] == 2:
 
        print('TwosPair')

但收到以下错误:

TypeError:“int”对象不可下标

我不应该能够使用枚举检查上一个索引/下一个索引吗?

我还尝试了以下方法:

for i,x in enumerate(arr2):

    if x == 2 and x[arr2.index(i)+1] == 2:
 
        print('TwosPair')

但现在得到这个错误:

ValueError: 0 不在列表中

它在说什么0?

标签: pythonpython-3.xlistnext

解决方案


您有点不清楚,但是如果您想检查前一个索引是否与下一个相对索引具有相同的值。Zip 将允许您遍历两个列表,第一个是原始列表,第二个被切片为一个元素,因为它的第一个项目是原始列表前面的一个索引,允许访问原始列表的当前和下一个索引

    def TwosPair(list_1):
        for curr, next in zip(list_1, list_1[1:]): 
            if curr == 2 and next == 2: print('TwosPair')


    

推荐阅读