如何在Python中从元组中获取第二个元素?

时间:2017-04-19 09:47:02

标签: python tuples

我想要一个包含所有第二个元素的数组,其中第一个元素等于' tuple1elem1'。我怎样才能有效地做到这一点?我有大约500个元组。

元组:

(('tuple1elem1', 'tuple1elem2'), ('tuple2elem1', 'tuple2elem2'), ('tuple3elem1', 'tuple3elem2'))

我想拥有什么:

array = ['tuple1elem2']

3 个答案:

答案 0 :(得分:4)

将列表推导与过滤器结合使用。

myList = [...]
output = [x[1] for x in myList if x[0] == 'tuple1elem1']

答案 1 :(得分:1)

您从元组中访问元素的方式与列表元素的方式大致相同。你可以解压缩它们:

>>> bigtuple = (('tuple1elem1', 'tuple1elem2'), ('tuple2elem1', 'tuple2elem2'), ('tuple3elem1', 'tuple3elem2'))
>>> array = [ele2 for ele1, ele2 in bigtuple if ele1 == "tuple1elem1"]
['tuple1elem2']

答案 2 :(得分:0)

有一种快速的方法来获取和添加元组列表中的第二个元素:

import numpy as np 

tuples_list = [(0, 10), (0, 20), (0, 30)]
fast_tuples_add = np.array(tuples_list) + (0, 9) # fast tuples add

fast_tuples_add
array([[ 0, 19],[ 0, 29], [ 0, 39]])

希望这会有所帮助