【Python】配列の抽出(array[:]について)

pythonの配列の抽出について調べたことをお話しようと思います。
pythonのコードでよく見る[:]ですね。

基本

array[x:y]

まず、基本的なarray[x:y]の意味ですが、
arrayのx番目の要素からy番目の要素まで」を意味しています。

具体例を見てみたほうが早いです。
元の配列として以下のような配列を用います。

では、この配列でarr[1, 4]がどのような配列になるか見てみます。

arrの1番目の要素から4番目の要素が抽出されました。

array[x:]

では、array[x:]はどうなるでしょうか。
同様の例を用いて見てみます。

上記の例でわかると思いますが、array[x:]は
「x番目の要素から、最後の要素まで」を意味します。

ちなみにxが負の場合(array[-x:])は
「後ろから-x番目から」を意味します。
例えば

array[:x]

array[:x]も同じように

上記の例でわかると思いますが、array[:x]は
「最初の要素からx番目の要素まで」を意味します。

応用

array[::z]

実はarray[::z]のような方法もあります。
これは「zで割り切れる番目の要素」を意味します。
言葉にするとわかりにくいですが、
具体例で見てみます。

上記は「2で割り切れる番目の要素」となっていることがわかります。

x, yを指定すれば、xからy番目の配列を生成してから同様の処理を行います。

array[::-1](反転 reverse)

さらにおもしろいことにarray[::-1]は配列の反転を表します。

参考文献

[https://www.pythoncentral.io/how-to-slice-listsarrays-and-tuples-in-python/:title]

コメント

タイトルとURLをコピーしました