Pythonのタプルとは?追加・削除・結合・リストに変換する方法

Pythonのコンテナの一つにタプルがあります。タプルは要素の変更ができないデータとして扱われています。

ですが、どうしても変更したくなった場合はリストに変換してから、追加や削除を行いタプルに戻すことになります。

今回はその内容を詳しく見ていきます。

タプルとは?

定義

タプルとは順番にデータを格納する箱のことです。リストと似ていますが、変更できないという点で異なります

タプルの要素を変更するにはリストに変換してから行います。(後述)

より正確には、「タプルはイミュータブルでイテラブルなシーケンス」と言われることがあります。

  • イミュータブル:不変
    • リストはミュータブル(可変)
  • イテラブル:forループに使える
    • 「for i in {イテラブル}」に使えるもののこと
  • シーケンス:インデックスでデ要素を取得できるもの
    • リストやタプルなどの要素には0から番号が割り振られている

インデックス

要素‘a’‘b’‘c’‘e’‘x’
index01234
逆から-5-4-3-2-1

タプルは丸カッコの中に要素を書きます。それらの要素に0から番号が割り振られています。その番号をインデックスと言います。

インデックスを指定することで要素を呼び出すことができます。タプルの長さ以上のインデックスを渡すとエラーになります。

wordタプルは0~4のインデックスを持ちます。ですからword[5]はエラーになってしまします。

次のように負の数のインデックスを指定するとタプルの後ろから要素を取得できます。このときは-1、-2と小さくなっていきます。

このときもインデックスが小さすぎると最後のように「IndexError」になります。

リストとタプルのインデックスの書き方は同じです。

タプルの結合

タプルの結合とは足し算のことです。「+」記号を使って複数のタプルを一つにまとめることができます。

単純に要素をつなげるだけならできますが、部分的に変更したい場合は以下のように、タプルをリストに変換してから行います。

タプルをリストに変換する方法

  • list関数:タプル→リストの変換
  • tuple関数:リスト→タプルの変換

このように、リストに変換してから要素を変更して、最後にタプルに戻せば変更は可能です。

関連記事

Pythonのコンテナの一つであるリストに関して詳しく見ていきましょう。リストを自由に操作するためのメソッド11個の使い方を解説します。 メソッドとは? メソッドとはあるデータ型専用の関数のことです。なので、以下で紹介してるメ[…]

Pythonのリストに使えるメソッド11個「追加・削除・ソート」

タプルの要素数

リストの要素数を確認するときはlen関数を使います。引数にリストを渡すと要素数を返してくれます。

リストの要素数を求められると以下のようにfor文で使うことができます。

変数xにタプルの要素数を代入して、それをrange関数に渡します。すると、その回数文ループしてくれます。

「sample[i]」のように書いてタプルの要素全てを取り出す方法も覚えておくと便利ですね。

まとめ

  • タプルは変更不可
  • リストに変換してから変更
  • タプルの要素数はlen関数を使う
  • イミュータブル・イテラブル・シーケンスの意味を覚えておこう

関連記事

プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]

【独学】Pythonを学習できる無料&有料教材7選