[Python]リストのスライシングとインデクシング

リストのスライシング(一部分の取得)

Pythonでは、リストから特定の範囲の要素を取り出すことができます。これを「スライシング」といいます。スライシングを行うには、角括弧の中にコロン(:)を使って範囲を指定します。

例えば、リストから最初の3つの要素を取り出すには次のようにします。

numbers = [1, 2, 3, 4, 5]
print(numbers[0:3])  # [1, 2, 3]を表示

始点を省略すると0から、終点を省略するとリストの末尾までとみなされます。

numbers = [1, 2, 3, 4, 5]
print(numbers[:3])  # 最初からインデックス2まで:[1, 2, 3]を表示
print(numbers[3:])  # インデックス3から最後まで:[4, 5]を表示

スライシングにおけるステップ引数の使用

スライシングでは、3つ目の引数としてステップ(間隔)を指定することもできます。これにより、取得する要素の間隔を調整することができます。

例えば、リストから2つごとの要素を取り出すには次のようにします。

numbers = [1, 2, 3, 4, 5]
print(numbers[::2])  # [1, 3, 5]を表示

ステップが負の場合、リストの要素が逆順に取得されます。

numbers = [1, 2, 3, 4, 5]
print(numbers[::-1])  # [5, 4, 3, 2, 1]を表示

リスト要素へのインデックスを用いたアクセス

リストの特定の要素にアクセスするには、その要素のインデックス(位置)を指定します。インデックスは0から始まります。つまり、リストの最初の要素はインデックス0でアクセスできます。

例:

fruits = ["apple", "banana", "cherry"]
print(fruits[0])  # "apple"を表示

また、インデックスを使ってリストの特定の要素を変更することもできます。

fruits = ["apple", "banana", "cherry"]
fruits[1] = "kiwi"
print(fruits)  # ["apple", "kiwi", "cherry"]を表示