0

私たちが持っていると仮定します:

a = [[1, 2, 3], [4, 5, 6]]

ループする以外に、各リストの最初の要素を取得するように配列にアクセスするための最速の方法は何ですか。

結果を出してほしい...1,4

4

4 に答える 4

2

すばやく簡単な方法は、抽出a[0][0]a[1][0]て実行することですが、使用目的によっては、これが常に機能するとは限りません。

于 2013-01-11T02:32:21.403 に答える
2

ループしない場合は、ethg242のようにループを展開する必要があります。これには、固定長の場合にのみ機能するという欠点があります。a

これがリスト内包表記です

[i[0] for i in a]

を使用することも可能map()ですが、これには暗黙のループもあります

from operator import itemgetter
map(itemgetter(0), a)
于 2013-01-11T02:36:08.340 に答える
2

zip(* a)を使用

a = [[1, 2, 3], [2, 3, 4]]
result = zip(*a)[0]
print result
于 2013-01-11T02:30:08.970 に答える
2

あなたはnumpyを検討したいかもしれません:

>>> import numpy as np
>>> a = [[1, 2, 3], [4, 5, 6]]
>>> b = np.array(a)
>>> b[:,0]
array([1, 4])
于 2013-01-11T02:52:29.773 に答える