numpyのリストにおいてこの様な点々(コロン、ピリオド)の意味 [1,:] [1, ..., 1]

numpyリストにおいて、コロン(:)やピリオド(.)の意味を説明する。

 

コロン

コロンはよく[1, :]の様な形で見かける。

:は言い換えればすべて、という意味だ。

よって[1, :]では[1,0]、[1,1]、[1,2]などを返す。

 

 

以下の様なプログラムを実行する。

import numpy as np

my_list = np.array([[0,1,0],[2,3,0],[4,5,0]])

print(my_list[1,:])

 

すると以下の結果を得る。

[2 3 0]

 

ピリオド

ピリオドは例えば b = a[..., 0] の様に使われる。

これも実は全てという意味で、途中のカンマ(,)を書かなくても良いsyntaxとなっている。

以下のサイトを参照

[ , …, ] (ellipsis) — Python Reference (The Right Way) 0.1 documentation

 

サイトには以下の様な例も挙げられており、分かりやすい

 

>>> n = numpy.arange(16).reshape(2, 2, 2, 2)
>>> n
array([[[[ 0,  1],
         [ 2,  3]],

        [[ 4,  5],
         [ 6,  7]]],


       [[[ 8,  9],
         [10, 11]],

        [[12, 13],
         [14, 15]]]])
>>> n[1,...,1]            # equivalent to n[1,:,:,1]
array([[ 9, 11],
       [13, 15]])
>>> # also Ellipsis object can be used interchangeably
>>> n[1, Ellipsis, 1]
array([[ 9, 11],
       [13, 15]])