从元组列表创建Python列表

use*_*412 0 python tuples list

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

a = [(1,2)] * 4
Run Code Online (Sandbox Code Playgroud)

我如何创建每个元组的第一个元素的列表?就是这样[1, 1, 1, 1].

phi*_*hag 7

使用列表理解:

>>> a = [(1,2)] * 4
>>> [t[0] for t in a]
[1, 1, 1, 1]
Run Code Online (Sandbox Code Playgroud)

你也可以解压缩元组:

>>> [first for first,second in a]
[1, 1, 1, 1]
Run Code Online (Sandbox Code Playgroud)

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

>>> import operator
>>> map(operator.itemgetter(0), a)
<map object at 0x7f3971029290>
>>> list(map(operator.itemgetter(0), a))
[1, 1, 1, 1]
Run Code Online (Sandbox Code Playgroud)


Sve*_*ach 6

phihag列表理解的两种替代方案:

[x for x, y in a]

from operator import itemgetter
map(itemgetter(0), a)
Run Code Online (Sandbox Code Playgroud)