python列表循环中的前一个元素

Posted

技术标签:

【中文标题】python列表循环中的前一个元素【英文标题】:python previous element in list loop 【发布时间】:2019-09-05 01:37:07 【问题描述】:

请帮助解决这个问题。我需要将循环的元素与 python 3 中的前一个元素进行比较。下面的代码给出了错误:

TypeError: 'int' 对象不可下标

for index, (i, j) in enumerate(zip(a_list, b_list)):
    if j[index] == j[index-1]:
        a = 0

【问题讨论】:

j 是可以是 int 的元素。所以它不可下标。您可以使用列表变量代替j(顺便说一句,您的要求未知/明确)。 以下错误表示您在j 中获得了integer value。检查你得到的j 的值是多少,它可能是一个整数值。 我想你是打算做if a_list[index] == a_list[index-1]: 什么的。但这显然不适用于第一个元素,因为a_list[0 - 1] 将查看a_list 的最后一个元素 How to get list index and element simultaneously in Python?的可能重复 【参考方案1】:

ija_listb_list 的元素,因此它们不是lists,您可以使用[] 访问,而是简单的ints(推测)。

为什么不这样做?

data = [1, 2, 2, 3, 4, 5, 5, 5, 3, 2, 7]

for first, second in zip(data, data[1:]):
    if first == second:
        print('Got a match!')

输出:

Got a match!
Got a match!
Got a match!

【讨论】:

以上是关于python列表循环中的前一个元素的主要内容,如果未能解决你的问题,请参考以下文章

Python:如何使用循环仅访问列表的一些布尔元素?

python列表的遍历与循环

Python——用for循环删除列表中的元素

Python 替换列表 list 及字符串中的元素

Python循环列表删除元素问题

如何使用 Python 循环替换列表中的多个字符串?