匹配python中列表的值

时间:2017-06-07 10:00:30

标签: python list while-loop

初学者问题:我正在尝试评估一行中的两个值是否匹配。

a = ['sl','sl','cr','cl']

这是我目前的代码:

while (j+1) < len(a):
    if a[j] == a[j+1]:
        num = num + 1
    else: 
        num = num

然而,当我这样做时,它不计算列表中的第一个值 - 这是由于(j + 1),但是,如果我删除它,得到一个错误告诉我我的索引已经不在范围 - 任何建议将不胜感激。

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