Pythonでプログラムを書く際、複数のデータをまとめて扱いたい場面はよくあります。その代表的な方法として「リスト」が知られていますが、もう一つ重要なデータ構造が「タプル(tuple)」です。タプルはリストと似ていますが、値の変更ができないという大きな特徴を持っています。この特性により、データの一貫性を保ちたい場合や、プログラムの安全性を高めたい場面で活躍します。
この記事では、Python初心者から中級者まで役立つように、タプルの基本から使い方、リストとの違い、注意点までをわかりやすく解説します。タプルの特性を理解し、適切に使い分けることで、より堅牢で効率的なPythonプログラムを書く力を身につけましょう。
タプルは、Pythonで複数の値をまとめて管理できるデータ構造の一つです。リストと似ていますが、「イミュータブル(変更不可)」という特徴を持ちます。一度作成したタプルの要素は追加・削除・変更ができません。
タプルの定義方法
()
でカンマ区切りの値を並べて記述します。tuple1 = (1, 2, 3)
tuple2 = 'a', 'b', 'c' # 括弧なしでもOK
要素が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コードを書きましょう!