これは非常に基本的な質問に違いないので、ご容赦ください。このようなリストのリストがあります
l = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
外側のリスト内の各リストの 2 番目の値に別のリストとしてアクセスしたい
[2, 5, 8, 11]
これを行うワンステップの方法はありますか?以前にMatlabでかなりプログラミングしたことがあるので、試してみl[:][1]
ましたが、それは私を返します[4, 5, 6]
リスト内包表記を使用します。
>>> lis = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
>>> [ x[1] for x in lis]
[2, 5, 8, 11]
を使用する別の方法operator.itemgetter
:
>>> from operator import itemgetter
>>> map( itemgetter(1), lis)
[2, 5, 8, 11]
>>> L = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
>>> [item[1] for item in L]
[2, 5, 8, 11]