给定一个元组列表,返回元组的第一个值的新列表

Ale*_*der 3 python

我有一个元组列表,我想要一个由元组的第一个值组成的新列表.

即如果列表是:

[(1,5),(4,10),(100,3),(4,8)]

我想创建以下列表:

[1,4,100,4]

以下代码有效:

a = [(1,5),(4,10),(100,3),(4,8)]
l = []
for i in range(len(a)):
    l.append(a[i][0])
Run Code Online (Sandbox Code Playgroud)

但似乎应该有更好的方法,例如:

l = itertools.chain(for i in range(len(a)) a[i][0]) #This won't work
Run Code Online (Sandbox Code Playgroud)

Sve*_*ach 7

我通常使用列表理解:

>>> a = [(1,5),(4,10),(100,3),(4,8)]
>>> [x for x, y in a]
[1, 4, 100, 4]
Run Code Online (Sandbox Code Playgroud)


hoc*_*chl 6

如何列表理解:

l=[(1,5),(4,10),(100,3),(4,8)]
print [x[0] for x in l]
Run Code Online (Sandbox Code Playgroud)

这会给你

[1, 4, 100, 4]
Run Code Online (Sandbox Code Playgroud)

按照要求 :)