23

重複の可能性:
内部リストの最初のアイテムを可能な限り効率的に

私が持っているとしましょう:

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

各内部リストの最初の要素を取得したい:

b = [1,2,3]

これを行う必要なしに(私の現在のハック):

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

ライナーは1つあると思いますが、何を探しているのかよくわかりません。

4

1 に答える 1

63

リストコンプを次のように変更するだけです。

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]
于 2012-11-02T02:31:34.470 に答える