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

时间:2012-11-02 02:30:37

标签: python

  

可能重复:
  First items in inner list efficiently as possible

让我说我有:

a = [ [1,2], [2,9], [3,7] ]

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

b = [1,2,3]

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

for inner in a:
    b.append(inner[0])

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

1 个答案:

答案 0 :(得分:36)

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

b = [el[0] for el in a]

或者:

from operator import itemgetter
b = map(itemgetter(0), a)

或者,如果您正在处理“正确的阵列”:

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

zip

print zip(*a)[0]