私たちが持っていると仮定します:
a = [[1, 2, 3], [4, 5, 6]]
ループする以外に、各リストの最初の要素を取得するように配列にアクセスするための最速の方法は何ですか。
結果を出してほしい...1,4
私たちが持っていると仮定します:
a = [[1, 2, 3], [4, 5, 6]]
ループする以外に、各リストの最初の要素を取得するように配列にアクセスするための最速の方法は何ですか。
結果を出してほしい...1,4
すばやく簡単な方法は、抽出a[0][0]
しa[1][0]
て実行することですが、使用目的によっては、これが常に機能するとは限りません。
ループしない場合は、ethg242のようにループを展開する必要があります。これには、固定長の場合にのみ機能するという欠点があります。a
これがリスト内包表記です
[i[0] for i in a]
を使用することも可能map()
ですが、これには暗黙のループもあります
from operator import itemgetter
map(itemgetter(0), a)
zip(* a)を使用
a = [[1, 2, 3], [2, 3, 4]]
result = zip(*a)[0]
print result
あなたはnumpyを検討したいかもしれません:
>>> import numpy as np
>>> a = [[1, 2, 3], [4, 5, 6]]
>>> b = np.array(a)
>>> b[:,0]
array([1, 4])