从Python的列表列表的内部列表中获取第n个元素

jsj*_*jsj 15 python

可能重复:
内部列表中的第一项尽可能有效

让我们说:

a = [ [1,2], [2,9], [3,7] ]
Run Code Online (Sandbox Code Playgroud)

我想检索每个内部列表的第一个元素:

b = [1,2,3]
Run Code Online (Sandbox Code Playgroud)

无需这样做(我当前的黑客):

for inner in a:
    b.append(inner[0])
Run Code Online (Sandbox Code Playgroud)

我确定它有一个衬垫,但我真的不知道我在找什么.

Jon*_*nts 42

只需将您的列表组件更改为:

b = [el[0] for el in a]
Run Code Online (Sandbox Code Playgroud)

要么:

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

或者,如果您正在处理"正确的数组":

import numpy as np
a = [ [1,2], [2,9], [3,7] ]
na = np.array(a)
print na[:,0]
# array([1, 2, 3])
Run Code Online (Sandbox Code Playgroud)

而且zip:

print zip(*a)[0]
Run Code Online (Sandbox Code Playgroud)