初学者问题:我正在尝试评估一行中的两个值是否匹配。
a = ['sl','sl','cr','cl']
这是我目前的代码:
while (j+1) < len(a):
if a[j] == a[j+1]:
num = num + 1
else:
num = num
然而,当我这样做时,它不计算列表中的第一个值 - 这是由于(j + 1),但是,如果我删除它,得到一个错误告诉我我的索引已经不在范围 - 任何建议将不胜感激。
答案 0 :(得分:1)
您应该在代码中改进一些内容。
首先,循环enumerate(list)以轻松比较列表中的项目。
其次,IndexError
可用于在达到最后一个索引后退出循环。
这里是一个 - 易于阅读的例子。
for i,item in enumerate(a):
try:
if item = a[i+1]:
print(item, 'and', a[i+1], 'are the same')
#increment your counter here
except IndexError:
break