【问题标题】:python previous element in list looppython列表循环中的前一个元素
【发布时间】: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 的最后一个元素

标签: python algorithm list


【解决方案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!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-16
    • 2014-01-08
    • 1970-01-01
    相关资源
    最近更新 更多