[Python]タプルのスライシングとインデクシング

「インデクシング」と「スライシング」の基本的な概念

インデクシング

インデクシングとは、特定の位置(インデックス)の要素にアクセスする方法のことを指します。Pythonのインデックスは0から始まります。タプルの特定の位置の要素にアクセスするには、タプル名の後に角括弧[]内にインデックス番号を記述します。

例えば、次のタプルがあるとします。

my_tuple = ("apple", "banana", "cherry", "date", "elderberry")

このタプルの1番目の要素にアクセスするには、my_tuple[0]と記述します。

print(my_tuple[0])  # Output: "apple"

また、インデックスには負の値も使用することができます。負のインデックスを使用すると、タプルの末尾から逆順に要素にアクセスすることができます。例えば、最後の要素にアクセスするにはmy_tuple[-1]とします。

print(my_tuple[-1])  # Output: "elderberry"

スライシング

スライシングとは、タプルの一部を取り出す操作のことです。スライシングではコロン:を用いて範囲を指定します。

例えば、先ほどのタプルの2番目から4番目の要素を取り出すには、以下のようにします。

print(my_tuple[1:4])  # Output: ("banana", "cherry", "date")

ここで、1:4は「インデックス1から始まり、インデックス4の直前まで」という範囲を指定しています。Pythonのスライシングでは、終了インデックスの要素は含まれないことに注意してください。

また、開始インデックスまたは終了インデックスを省略すると、それぞれ「最初から」または「最後まで」という意味になります。例えば、最初から3番目までの要素を取り出すには以下のようにします。

print(my_tuple[:3])  # Output: ("apple", "banana", "cherry")

この2つの概念は、Pythonの他のデータ型(例えばリストや文字列)にも適用されます。