Pythonでタプルをスライスする方法を徹底解説!基本構文から省略記法・ステップ指定まで
タプルのスライシングとは?
Pythonにおけるスライス演算子は、タプルを含むすべてのシーケンス型データに対して使用できます。スライシングとは、シーケンス(ここではタプル)から一部を切り出して取り出す操作のことです。スライスに使用する記号はコロン「:」です。
スライス演算子には2つのオペランド(値)を指定します。
- 第1オペランド: 切り出す範囲の開始要素のインデックス
- 第2オペランド: 範囲に含めたい最後の要素のインデックス + 1
重要なポイントとして、スライスの結果もまたタプルになるという点が挙げられます。以下の例を見てみましょう。
>>> T1 = (10, 50, 20, 9, 40, 25, 60, 30, 1, 56) >>> T1[2:4] (20, 9)
この例では、インデックス2から始まり、インデックス4の直前(つまりインデックス3)までが切り出されています。そのため結果は (20, 9) となります。
オペランドは省略できる
スライスの2つのオペランドは、どちらも省略可能です。
- 第1オペランドを省略した場合: 先頭(インデックス0)からスライスが始まります。
- 第2オペランドを省略した場合: 末尾までスライスが続きます。
>>> T1 = (10, 50, 20, 9, 40, 25, 60, 30, 1, 56) >>> T1[6:] (60, 30, 1, 56) >>> T1[:4] (10, 50, 20, 9)
T1[6:] はインデックス6以降の全要素を、T1[:4] は先頭からインデックス3までの要素をそれぞれ取得しています。
さらに便利なテクニック
ステップ(増分)を指定する
コロンをもう1つ追加することで、要素をいくつおきに取得するかを指定できます。
>>> T1[::2] (10, 20, 40, 60, 1)
上の例では、先頭から末尾まで2つおきに要素が抽出されています。
負のインデックスを使う
マイナスの値を指定すると、末尾からの位置で要素を参照できます。
>>> T1[-3:] (30, 1, 56)
これは「末尾から3番目以降の要素」を取得する例です。
まとめ
タプルのスライシングは「[開始:終了:ステップ]」という形式で行います。終了インデックスは範囲に含まれない点、そして結果もタプルである点を覚えておきましょう。開始・終了・ステップはすべて省略可能なので、柔軟にデータの一部を取り出せます。
-
Pythonでディレクトリを変更(cd)するにはどうすればよいですか?
Pythonでカレントディレクトリを変更する(シェルのcdコマンドと同じ操作を行う)には、標準ライブラリのosモジュールを使用します。osモジュールが提供するos.chdir()関数に、移動先のディレクトリの相対パスまたは絶対パスを引数として渡すことで、作業ディレクトリを切り替えることができます。使用例>>> import os >>> os.chdir(my_folder)この例では、現在の作業ディレクトリから「my_folder」という相対パスで指定されたディレクトリへ移動しています。絶対パス(例:/home/user/my_folder や C:\Us
-
Python関数からタプルを返す方法をわかりやすく解説
Pythonでは、関数から複数の値を一度に返したい場合にタプルを活用できます。タプルを使えば、文字列や数値など異なる型の値をまとめて1つの戻り値として扱えるため、非常に便利です。ここでは、実際にタプルを返す関数を定義し、その動作を確認してみましょう。コード例def foo(): str = tutorialspoint x = 30 return (str, x) print(foo())この関数 foo() は、文字列 tutorialspoint と整数 30 を括弧で囲んでタプルとして返しています。呼び出し側では、このタプルを受け取ってそのまま表示できます。実行