4

NumPy でできるように、リストの特定のインデックスを取得する方法はありますか?

sample = ['a','b','c','d','e','f']
print sample[0,3,5]
>>>['a','d','f']

これをグーグルで試してみましたが、関連する結果が得られた問題をうまく表現する方法が見つかりませんでした...

4

1 に答える 1

9

リスト内包表記を使用できます。

>>> sample = ['a','b','c','d','e','f']
>>> [sample[i] for i in (0, 3, 5)]
['a', 'd', 'f']

または、私がすぐに作ったもの:

>>> class MyList(list):
...     def __getitem__(self, *args):
...             return [list.__getitem__(self, i) for i in args[0]]
... 
>>> mine = MyList(['a','b','c','d','e','f'])
>>> print mine[0, 3, 5]
['a', 'd', 'f']
于 2013-07-28T03:46:16.383 に答える