
【6日でできるPython入門】組み込み型 タプル
Pythonのタプル(tuple)は、リストによく似た「複数データをまとめて扱う」組み込み型のひとつです。
大きな違いは、タプルは一度作ったら中身を変更できない(イミュータブル型)という点です。
「絶対に書き換えたくない複数のデータ」を安全に束ねたいとき、タプルを使うのがPython流です。
ここでは、タプルの基本的な使い方とリストとの違い、アンパック(複数同時代入)の便利な書き方を学びます。

1.タプルの基本
1.1. タプルの作成と使い方
タプルは**丸括弧( () )**を使い、カンマ区切りで値を並べて作成します。
どんな型でもOK、空のタプルや1要素タプルも作成可能です。
ファイル名: lesson08-1.py
# 動物名やデータのグループをタプルで表すプログラム
animals = ('ライオン', 'キリン', 'シマウマ', 'ゾウ')
print("動物リスト:", animals)
print("1番目の動物:", animals[0])
print("先頭から3つ:", animals[:3])
empty = ()
one = ('パンダ',)
print("空のタプル:", empty)
print("1要素のタプル:", one)
print("型チェック:", type(one))
not_tuple = ('パンダ')
print("カンマなし1要素の場合の型:", type(not_tuple))
実行結果
動物リスト: ('ライオン', 'キリン', 'シマウマ', 'ゾウ')
1番目の動物: ライオン
先頭から3つ: ('ライオン', 'キリン', 'シマウマ')
空のタプル: ()
1要素のタプル: ('パンダ',)
型チェック: <class 'tuple'>
カンマなし1要素の場合の型: <class 'str'>
記述 | 説明 |
---|---|
('A', 'B', 'C') | 3要素のタプル |
() | 空のタプル |
('A',) | 1要素のタプル(カンマ必須!) |
('A') | 文字列として認識される(タプルじゃない) |
1.2. シーケンス型としての操作
タプルもリスト同様、インデックスやスライスで要素にアクセスできます。
ファイル名: lesson08-2.py
scores = (85, 92, 78, 90)
print("最高点:", max(scores))
print("3番目まで:", scores[:3])
実行結果
最高点: 92
3番目まで: (85, 92, 78)
2.タプルとリストの違い
2.1. タプルはイミュータブル型
タプルは「イミュータブル(変更不可)」です。
要素の変更や追加・削除は一切できません。
ファイル名: lesson08-3.py
weekdays = ('月', '火', '水')
# weekdays[0] = '日' # ←エラー
# weekdays.append('木') # ←エラー
エラー例
TypeError: 'tuple' object does not support item assignment
AttributeError: 'tuple' object has no attribute 'append'
型 | 変更 | 追加 | 削除 | 用途例 |
---|---|---|---|---|
リスト | ○ | ○ | ○ | 日々追加・削除されるデータ |
タプル | × | × | × | 不変のグループ・固定設定 |
2.2. タプルを使うメリット
- 安全性:変更したくない値のグループ化に最適
- パフォーマンス:リストより高速な処理ができることが多い
- 辞書のキーに使える(リストは不可)
3.タプルのアンパック(多重代入)
3.1. タプルの省略記法とアンパック
実は、丸括弧なしでもカンマ区切りならタプル扱いとなります。
また、複数の変数に一度で代入(アンパック)できます。
ファイル名: lesson08-4.py
# アンパック代入の実例
data = '東京', 32, '晴れ'
city, temp, weather = data
print("都市:", city)
print("気温:", temp)
print("天気:", weather)
# 値の入れ替え
x, y = 5, 8
x, y = y, x
print("xとyを入れ替えた結果:", x, y)
実行結果
都市: 東京
気温: 32
天気: 晴れ
xとyを入れ替えた結果: 8 5
記述 | 説明 |
---|---|
a, b = 1, 2 | 2つの値を一度で変数に代入 |
a, b = b, a | 変数の値を一発で交換 |
city, temp, weather = ... | タプルやリストの値を一気に分解 |
このようにタプルは、「変更しないデータのグループ化や、多重代入」で大きな力を発揮します。
「間違って書き換えたくない」「複数の値をすばやく分解したい」―そんな場面で積極的に使いましょう!