use*_*412 0 python tuples list
例如,如果我有一个元组列表,例如
a = [(1,2)] * 4
Run Code Online (Sandbox Code Playgroud)
我如何创建每个元组的第一个元素的列表?就是这样[1, 1, 1, 1].
使用列表理解:
>>> 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)
如果你想得到花哨,结合map和operator.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)
phihag列表理解的两种替代方案:
[x for x, y in a]
from operator import itemgetter
map(itemgetter(0), a)
Run Code Online (Sandbox Code Playgroud)