Pythonでタプルの要素にアクセスする方法:インデックスとスライスの使い方を解説
Pythonのタプル(tuple)は、複数の値を順序付きで格納できるイミュータブル(変更不可)なデータ構造です。タプルの個々の要素にアクセスするには [] 演算子を使用します。また、タプルの一部を取り出したい場合は、スライス演算子を使うことで範囲指定が可能です。
タプルのインデックスによる要素へのアクセス
タプルの要素にアクセスするには、タプルに対して [] 演算子を使います。正の整数を指定した場合、左側(先頭)から数えてその位置にある要素を取得します。一方、負の整数を指定した場合は、右側(末尾)から数えてその位置にある要素を取得します。インデックスは 0 から始まる点に注意してください。
コード例
my_tuple = ('a', 'b', 'c', 'd')
print(my_tuple[1]) # 先頭から2番目の要素
print(my_tuple[-1]) # 末尾から1番目の要素
実行結果
b d
この例では、my_tuple[1] は先頭から数えて2番目の要素 'b' を返し、my_tuple[-1] は末尾から数えて最初の要素 'd' を返します。
スライスによる部分取得
タプルの一部分だけを取り出したい場合は、スライス演算子 [start:stop:step] を使用します。
- start: 取り出しを開始するインデックス(省略時は先頭)
- stop: 取り出しを終了するインデックス(この位置の要素は含まれない。省略時は末尾まで)
- step: 要素を取り出す間隔(省略時は1)
コード例
my_tuple = ('a', 'b', 'c', 'd')
print(my_tuple[1:]) # インデックス1から末尾までの要素を出力
print(my_tuple[:2]) # 先頭からインデックス2の直前までの要素を出力
print(my_tuple[1:3]) # インデックス1から3の直前までの要素を出力
print(my_tuple[::2]) # 先頭から末尾まで2つおきに要素を出力
実行結果
('b', 'c', 'd')
('a', 'b')
('b', 'c')
('a', 'c')
まとめ
タプルへのアクセス方法を整理すると以下のようになります。
tuple[i]— インデックス i の要素を1つ取得する(負の値で後ろから数えられる)tuple[start:stop]— start から stop の直前までの要素を取得するtuple[start:stop:step]— step 間隔で要素を飛ばしながら取得する
なお、スライスで範囲外のインデックスを指定してもエラーにはならず、存在する範囲内の要素だけが返されるため、安全に使えるのもタプルのスライスの便利なポイントです。
-
Pythonでタプルを定義するには?基本の作成方法をわかりやすく解説
Pythonにおけるタプルとはタプル(tuple)は、Pythonの標準データ型のひとつで、複数のオブジェクトを順序付けて格納できるイミュータブル(変更不可)なシーケンスです。リストとよく似ていますが、一度作成した後は要素の追加・削除・変更ができないという点が大きな特徴です。タプルの基本的な定義方法タプルオブジェクトは、1つ以上のオブジェクトをカンマ(,)で区切って並べるだけで作成できます。各要素は必ずしも同じ型である必要はなく、整数・文字列・浮動小数点数・真偽値など、異なる型のオブジェクトを自由に混在させることができます。また、コレクション全体を丸括弧 ( ) で囲むこともできますが、これは
-
Pythonで文字列の3番目から5番目までの文字を抽出・表示する方法
Pythonのスライス機能を使った部分文字列の取得Pythonには「スライス」という便利な機能があり、これを使うと元の文字列から任意の部分文字列を簡単に取り出すことができます。「文字列の3番目から5番目までの文字だけを表示したい」といったケースで活躍します。スライス演算子[:]の基本的な使い方スライス演算子[:]を使用する際は、2つのオペランド(整数値)を指定します。第1オペランド:スライスの開始位置となる文字のインデックス第2オペランド:スライスの終了位置にある文字の「次の」文字のインデックスここで重要なのは、Pythonのシーケンス型(文字列やリストなど)のインデックスは0から始まるという