Pythonのタプル(tuple)徹底解説|特徴・使い方・リストとの違いをわかりやすく解説

Pythonでプログラムを書く際、複数のデータをまとめて扱いたい場面はよくあります。その代表的な方法として「リスト」が知られていますが、もう一つ重要なデータ構造が「タプル(tuple)」です。タプルはリストと似ていますが、値の変更ができないという大きな特徴を持っています。この特性により、データの一貫性を保ちたい場合や、プログラムの安全性を高めたい場面で活躍します。

この記事では、Python初心者から中級者まで役立つように、タプルの基本から使い方、リストとの違い、注意点までをわかりやすく解説します。タプルの特性を理解し、適切に使い分けることで、より堅牢で効率的なPythonプログラムを書く力を身につけましょう。

Pythonのタプル(tuple)とは

タプルは、Pythonで複数の値をまとめて管理できるデータ構造の一つです。リストと似ていますが、「イミュータブル(変更不可)」という特徴を持ちます。一度作成したタプルの要素は追加・削除・変更ができません。

タプルの基本的な使い方

タプルの定義方法

  • 丸括弧 () でカンマ区切りの値を並べて記述します。
  • 括弧は省略可能ですが、可読性のために付けるのが一般的です。
tuple1 = (1, 2, 3)
tuple2 = 'a', 'b', 'c'  # 括弧なしでもOK

要素が1つのタプルに注意

  • 要素が1つの場合はカンマを忘れずに。
  • 例: t = (1,) ← カンマが必要。

タプルとリストの違い

特徴タプル (tuple)リスト (list)
変更可否変更不可(イミュータブル)変更可(ミュータブル)
記述方法丸括弧 ()角括弧 []
要素の追加/削除不可可能
処理速度やや高速標準
用途変更しないデータの管理変更が必要なデータ管理
  • タプルは「定数的」な用途や、辞書のキーなど変更不可が求められる場面で使われます。

タプルの主な操作

要素の取得(インデックスアクセス)

t = (10, 20, 30)
print(t[1])  # 20

スライスで部分取得

t = (1, 2, 3, 4, 5)
print(t[1:4])  # (2, 3, 4)

連結(新しいタプルを作成)

t1 = (1, 2)
t2 = (3, 4)
t3 = t1 + t2  # (1, 2, 3, 4)

繰り返し

t = (1, 2)
print(t * 3)  # (1, 2, 1, 2, 1, 2)

for文での反復処理

for value in (1, 2, 3):
    print(value)

タプルの便利なメソッド

  • count(x):指定した値がいくつ含まれているか返す
  • index(x):指定した値が最初に現れるインデックスを返す
t = (1, 2, 2, 3)
print(t.count(2))  # 2
print(t.index(3))  # 3

※リストと異なり、タプルのメソッドはこの2つのみ。

タプルの応用と注意点

  • タプルは「変更不可」なので、要素の追加・削除・変更はできません。
  • ただし、新たなタプルを作ることで「追加・削除のような操作」は可能です(連結やスライスで新しいタプルを生成)。
  • タプル同士の比較や、in演算子による検索も可能です。

まとめ

  • タプルは「変更不可」のデータ構造で、リストと使い分けることで安全なプログラムが書けます。
  • 変更しないデータや、辞書のキー、関数の複数戻り値などに活用できます。
  • 使い所を理解し、リストとの違いを押さえることがPython上達のポイントです。

タプルの特性を活かして、より堅牢で効率的なPythonコードを書きましょう!

にいやん

出身 : 関西 居住区 : 関西 職業 : 組み込み機器エンジニア (エンジニア歴13年) 年齢 : 38歳(2022年11月現在) 最近 業務の効率化で噂もありPython言語に興味を持ち勉強しています。 そこで学んだことを記事にして皆さんとシェアさせていただければと思いブログをはじめました!! 興味ある記事があれば皆さん見ていってください!! にほんブログ村