如何在python中打印元组列表中一列的所有值?

时间:2018-09-10 10:37:32

标签: python list tuples

我有一个元组列表,称为list_out。我想访问列表中第二列的值(我想将acsses设置为“ 313”,“ 321”和“ 365”)。 list_out正在:

list_out = [('2240', '313', {'Sign': 1}),
            ('2240', '321', {'Sign': 1}), 
            ('2240', '365', {'Sign': -1})]

我用过:

print (list_out[0])

退出:

('2240', '313', {'Sign': 1})

然后我用了:

print (list_out[0][1])

退出:

313

以上代码,返回列表中第一行中第二列的值(仅'313')。我想访问所有行中第二列的值。 请为我提出解决此问题的方法。

3 个答案:

答案 0 :(得分:3)

尝试一下:

print(list(zip(*list_out))[1])

输出:

('313', '321', '365')

OR:

print([i[1] for i in list_out])

输出:

['313', '321', '365']

答案 1 :(得分:2)

list_out = [('2240', '313', {'Sign': 1}), ('2240', '321', {'Sign': 1}), 
('2240', '365', {'Sign': -1})]
column2=[j for _,j,_ in list_out]

输出

['313', '321', '365']

答案 2 :(得分:1)

使用operator.itemgetter

from operator import itemgetter

res = list(map(itemgetter(1), list_out))

# ['313', '321', '365']

或通过序列拆包:

_, res, _ = zip(*list_out)

print(res)

# ('313', '321', '365')

如果您不想拆开不需要的列:

from itertools import islice

res = next(islice(zip(*L), 1, None))