連続していない要素を取り出したい時が多々ある
>>> a = np.array([1,2,3,4])
>>> indices = [0,2]
>>> a[indices]
array([1,3])
要素の入れ替えをしたい時とかに便利
>>> a = np.array([1,2,3,4])
>>> indices = [0,1,3,2]
>>> a[indices]
array([1, 2, 4, 3])
listじゃなくてsetを渡すとエラーに成ったり予期しない挙動をしたりするので注意が必要。特に多次元配列を使う時は注意。
>>> a = np.array([[1,2,3],[3,4,5],[5,6,7]])
>>> a
array([[1, 2, 3],
[3, 4, 5],
[5, 6, 7]])
>>> indices = [0,2]
>>> a[indices]
array([[1, 2, 3],
[5, 6, 7]])
>>> indices = (0,2)
>>> a[indices]
3