python - 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?
解决方案
您有点不清楚,但是如果您想检查前一个索引是否与下一个相对索引具有相同的值。Zip 将允许您遍历两个列表,第一个是原始列表,第二个被切片为一个元素,因为它的第一个项目是原始列表前面的一个索引,允许访问原始列表的当前和下一个索引
def TwosPair(list_1):
for curr, next in zip(list_1, list_1[1:]):
if curr == 2 and next == 2: print('TwosPair')
推荐阅读
- c# - Httpclient 在服务器开始处理请求之前获得超时
- regex - 使用正则表达式在多个标志之间获取文本
- android - Vector Drawables 有时会变得模糊
- angular - fontawsome angular only class fa 工作不 fas 或
- angularjs - 调试AngularJs,如何定位错误
- mysql - MySql - 连接表,计算“distict” id 出现次数并计算平均值
- lets-encrypt - 让我们仅使用 Auth Basic + HTTPS 进行加密
- java - Map.keySet 什么时候返回 null
- loops - CLASSIC ASP - Do While / Loop with 3 条件问题
- python - Sklearn GridSearchCV 为 test_score 和 train_score 生成非常不同的数字