我有一个元组列表,我想要一个由元组的第一个值组成的新列表.
即如果列表是:
[(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)
我通常使用列表理解:
>>> 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)
如何列表理解:
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)
按照要求 :)