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】:
i
和j
是a_list
和b_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列表循环中的前一个元素的主要内容,如果未能解决你的问题,请参考以下文章