假设我有一个这样的列表:[(1, (1,2)), (2, (23, -10)), (3, (4, 5))...]
我想得到(1,2),(23,-10)等
编辑:感谢您的帮助。我不了解列表理解,因为我对python不太熟悉
答案 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)