PythonのSliceについて

更新日 : 2024/1/13

仕事でよくPythonを使うので、最近改めてPythonを勉強し直しています。

PythonのSliceが便利だったので備忘録としてまとめます。

また、この記事ではリストについて書いていますが、タプルでも同様に扱えます。

目次

    使い方① リストから任意の範囲の要素をすべて取得

    以下のように書くことで、Sliceを使うことでリストから任意の範囲の要素を取得することができます。
    1list1 = ["a", "b", "c", "d", "e", "f", "g", "h"]
    2
    3list2 = list1[2:7]
    4print(list2) # c d e f gが表示される

    使い方② リストから任意の範囲の要素を任意の間隔で取得

    以下のように書くことで、リストの任意の範囲の要素を任意の間隔で取得することもできます
    1list1 = ["a", "b", "c", "d", "e", "f", "g", "h"]
    2
    3list2 = list1[2:7:2]
    4print(list2) # c e g が表示される

    使い方③ リストから先頭または末尾から任意の数の要素を取得

    リストの先頭または末尾から要素を取り出したい場合は以下のように書きます。
    1list1 = ["a", "b", "c", "d", "e", "f", "g", "h"]
    2
    3list2 = list1[:4]
    4print(list2) # a b c d が表示される
    5
    6list3 = list1[5:]
    7print(list3) # e f g h が表示される
    8
    9list4 = list1[:4:2]
    10print(list4) # a c が表示される
    11
    12list5 = list1[5::2]
    13print(list5) # e g が表示される
    上記のように先頭や末尾からデータを取り出す際も、任意の間隔を指定することができます。

    使い方④ リストを反転する

    以下のように書くことでリストの順序を反転することもできます。
    1list1 = ["a", "b", "c", "d", "e", "f", "g", "h"]
    2
    3list2 = list1[::-1]
    4print(list2) # h g f e d c b a が表示される
    はい、便利ですね。

    最後に

    以上、PythonのSliceについて基本的な内容ですがまとめてみました。

    それでは!