从元组列表创建 Python 列表

2022-01-20 00:00:00 python list tuples

问题描述

例如,如果我有一个元组列表,例如

If I have, for example, a list of tuples such as

a = [(1,2)] * 4

如何创建每个元组的第一个元素的列表?即[1, 1, 1, 1].

how would I create a list of the first element of each tuple? That is, [1, 1, 1, 1].


解决方案

使用 列表理解:

>>> a = [(1,2)] * 4
>>> [t[0] for t in a]
[1, 1, 1, 1]

你也可以解包元组:

>>> [first for first,second in a]
[1, 1, 1, 1]

如果你想变得花哨,结合 mapoperator.itemgetter.在 python 3 中,您必须将构造包装在 list 中以获取列表而不是可迭代对象:

If you want to get fancy, combine map and operator.itemgetter. In python 3, you'll have to wrap the construct in list to get a list instead of an iterable:

>>> import operator
>>> map(operator.itemgetter(0), a)
<map object at 0x7f3971029290>
>>> list(map(operator.itemgetter(0), a))
[1, 1, 1, 1]

相关文章