double colonを使ったスライスを知った。

double colonを使ったスライスを知ったのでメモ。

Pythonのスライスはa[start:end:step]のように書くことができる。
a[::3]だと3つごとに要素を返す。

  • コード例

15 Extended Slicesより引用。

>>> L = range(10)
>>> L[::2]
[0, 2, 4, 6, 8]

>>> L[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

>>> s='abcd'
>>> s[::2]
'ac'
>>> s[::-1]
'dcba'

>>> a = range(4)
>>> a
[0, 1, 2, 3]
>>> a[::2]
[0, 2]
>>> a[::2] = [0, -1]
>>> a
[0, 1, -1, 3]


参考資料
syntax - What is :: (double colon) in Python? - Stack Overflow