【发布时间】:2021-02-18 08:58:06
【问题描述】:
我有这个元组列表:
l1 = [(1, 8), (6, 8), (8, 7), (2, 6)]
我想将每个元组的第一个元素与下一个元组的第一个元素进行比较 如何访问下一个元组的第一个元素?
由于操作列表比元组要容易一些,所以我首先将其作为列表列表如下:
l1 = [[1, 8], [6, 8], [8, 7], [2, 6]]
然后尝试了这个:
for i in l1:
if l1[i][1] == l1[i+1][1]:
...
但是 l1[i+1][1] 不起作用 我在 (i+1) 代码中做错了什么
【问题讨论】:
-
你可以在这种情况下使用元组,它不应该造成任何障碍。因为
i+1,您可能会遇到IndexError。所以,更新你的循环范围直到len(l1)-1并使用迭代器来访问列表/元组中的值。 -
您实际上是在迭代列表的元素,而不是索引:当您执行
for i in l1时,您将获得列表的第一个元素,而不是元素的索引。正如第一个答案中所建议的,要获取索引,您应该使用range
标签: python-3.x list tuples