如何在python中迭代元组内的元组列表?

时间:2016-08-08 06:29:49

标签: python

假设我有一个这样的列表:[(1, (1,2)), (2, (23, -10)), (3, (4, 5))...]

我想得到(1,2),(23,-10)等

编辑:感谢您的帮助。我不了解列表理解,因为我对python不太熟悉

3 个答案:

答案 0 :(得分:0)

尝试这样的事情: -

这是List并获取其他元组列表: -

a = [(1, (1,2)), (2, (23, -10)), (3, (4, 5))...]

b = map(lambda item: item[1], a)

print b

答案 1 :(得分:0)

这将解决您的问题。

这里是元组列表,其中每个元组的第二个元素也是一个元组。为了获得第二个元素,我们将使用将从列表中获取元素的lambda,并从该元素返回第二个项目,在这种情况下是期望的元组。 map函数还会创建返回值列表。

>>> list_of_nested_tuples = [(1, (1, 2)), (2, (23, -10)), (3, (4, 5))]
>>> b = map(lambda item: item[1], list_of_nested_tuples)
>>> b
[(1, 2), (23, -10), (4, 5)]

请注意,使用列表理解会更清楚

>>> [elem[1] for elem in list_of_nested_tuples]
[(1, 2), (23, -10), (4, 5)]

答案 2 :(得分:-2)

是的,您可以迭代所有元组,然后获取第二个元素:

list = [(1, (1,2)), (2, (23, -10)), (3, (4, 5))]
for elem in list:
    print(elem[1])

在每次迭代中,elem值为(1,(1,2)) -> (2,(23,-10)) - > .... 然后你取第二个元组(索引1)