1

これを行うための適切な方法に関するクリーンな例を見たことがあることを知っており、それが標準の python ライブラリの 1 つに含まれていたことを断言できます。今は見つからないようです。正しい方向に向けてください。

サブリストから任意の値のみを返すリストのリストの反復子。アイデアは、これをリスト内包表記にすることです。

alist = [    [1,2,3,4,5],
             [2,4,6,8,10],
             [3,6,9,12,15]    ]

only_some_values = [list(x[2]]) for x in alist]

[[3],[6],[9]]

しかし、これと同じことを行う関数があると確信していますが、イテレータのように、左側の直接インデックス アクセスを取り除き、右側の追加のイテレータを連鎖させますfor。おそらく、それは組み込みリスト内包表記の形式だったのでしょう。

4

2 に答える 2

3

おそらくあなたは考えていましたitemgetterか?

>>> from operator import itemgetter
>>> map(itemgetter(2), alist)
[3, 6, 9]

しかし、それは要素をサブリストに残しません

only_some_values = [[x[2]] for x in alist]

希望する出力を提供します

于 2013-04-29T00:05:34.490 に答える