使用嵌套for循环来遍历元组列表

时间:2017-10-14 20:46:51

标签: python tuples

我有一个包含元组的列表。每个元组包含2个元素。我尝试使用以下代码打印它,但它给出了错误消息:

TypeError: list indices must be integers or slices, not tuple

相关代码:

for i in list:
    for j in [1, 2]:
        print(list[i][j])

打印第一元组的每个元素的想法,第二元组的每个元素等

3 个答案:

答案 0 :(得分:3)

在循环中实现i实际上是一个元组(列表的元素)。因此,您只需要打印i的元素i[j]list[i]没有意义,因为i应该是一个整数,但它实际上是列表的一个元素,即元组。您还必须收到类似TypeError: list indices must be integers, not tuple的错误。好吧,我。所以这应该是对你的暗示/解释。

lst = [(1,2),(5,9)]
for i in lst:
    for j in [0, 1]:
        print(i[j])
    print

输出:

1 2
5 9

答案 1 :(得分:1)

您可以在for循环中解压缩元组

>>> tup_list = [(1,2), (3,4)]
>>> for a,b in tup_list:
...     print(a,b)
... 
1 2
3 4

答案 2 :(得分:0)

您可以使用嵌套列表理解:

[i for subset in list for i in subset] give you flat list

它更加pythonic!