Pythonタプル完全ガイド | 取り出し・変換・結合

Pythonタプル完全ガイド | 取り出し・変換・結合

当ページのリンクには広告が含まれています。

記事の文字数:1767

Pythonのタプル(tuple)は、リストと似たデータ構造ですが、一度作成すると要素を変更できないイミュータブル(変更不可)な特徴を持ちます。本記事では、タプルの基本的な使い方から、応用的な活用方法まで詳しく解説します。初心者にもわかりやすいコード例を交えて紹介します。


スポンサーリンク

Pythonを学び始めると、タプル(tuple)というデータ型に出会います。 「タプルって何?リストと何が違うの?」「タプルに要素を追加したいけどできない?」「どうやって取り出したり変換したりするの?」という疑問を持ったことがある方に向けて、この記事ではPythonタプルの追加・取り出し・変換について丁寧に解説します。

タプルの基本的な使い方

Pythonにおけるタプル(tuple)は、複数の値を一つのデータ構造にまとめることができるイミュータブル(変更不可)なデータ型です。リスト(list)と似ていますが、タプルは一度作成すると要素の追加や変更ができません。

タプルの作成方法(複数)

タプルは ()(丸括弧)を使って作成できます。

tuple-multi-create01.py
# タプルの作成
fruits = ("apple", "banana", "cherry")
print(fruits) # ('apple', 'banana', 'cherry')

異なる型の要素を並べることもできます。

tuple-multi-create02.py
multi = (1, "Python", True)
print(multi) # (1, 'Python', True)

また、カンマ(,)区切りで要素を並べることで、丸括弧なしでもタプルを作成できます。

tuple-multi-create03.py
numbers = 1, 2, 3
print(numbers) # (1, 2, 3)

タプルの作成方法(単一)

単一の要素を持つタプルを作成する場合は、要素の後にカンマを付ける必要があります。

tuple-single-create01.py
single_tuple = ("apple",)
print(single_tuple) # ('apple',)

カンマを付けないと単なる文字列(または数値)として扱われます。

tuple-single-create02.py
not_a_tuple = ("apple")
print(type(not_a_tuple)) # <class 'str'>

インデックスでタプルの要素を取り出す

タプルの要素にはインデックスを指定してアクセスできます。

tuple-index.py
fruits = ("apple", "banana", "cherry")
print(fruits[0]) # apple
print(fruits[1]) # banana

スライスでタプルの要素を取り出す

スライスを使って部分的に取得することも可能です。

tuple-slice.py
numbers = (0, 1, 2, 3, 4, 5)
print(numbers[1:4]) # (1, 2, 3)

タプルの応用的な使い方

関数からタプルを受け取る

関数が複数の値を返す場合、タプルを使って簡単に分割代入できます。

tuple-func.py
def get_info():
return "Alice", 25, "Engineer"
name, age, job = get_info()
print(name) # Alice
print(age) # 25
print(job) # Engineer

タプルをforループで取り出す

タプルはforループで取り出すこともできます。

tuple-for.py
fruits = ("apple", "banana", "cherry")
for item in fruits:
print(item)

タプルの結合(+)と繰り返し(*)方法

タプル同士を + で結合したり、* で繰り返したりできます。

tuple-join.py
tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
new_tuple = tuple1 + tuple2
print(new_tuple) # (1, 2, 3, 4, 5, 6)
repeated_tuple = tuple1 * 3
print(repeated_tuple) # (1, 2, 3, 1, 2, 3, 1, 2, 3)

タプルを複数の変数に分割する

タプルの要素を複数の変数に分割して代入することができます。

tuple-division01.py
tuple_data = (10, 20, 30)
a, b, c = tuple_data
print(a) # 10
print(b) # 20
print(c) # 30

また、* を使って残りの要素をリストとして格納することも可能です。

tuple-division02.py
tuple_data = (1, 2, 3, 4, 5)
a, *b, c = tuple_data
print(a) # 1
print(b) # [2, 3, 4]
print(c) # 5

タプルの分割代入を活用すると、変数の値を簡単に交換することもできます。

tuple-division03.py
a, b = 5, 10
a, b = b, a
print(a) # 10
print(b) # 5

これは、一時変数を使わずに値を入れ替える便利な方法です。

タプルを辞書のキーとして使用する

タプルはイミュータブルなため、辞書のキーとして使用できます。

tuple-dict.py
locations = {
(35.6895, 139.6917): "Tokyo",
(40.7128, -74.0060): "New York"
}
print(locations[(35.6895, 139.6917)]) # Tokyo

タプルはイミュータブルなデータ構造

Pythonのデータ型は、大きく分けて イミュータブル(変更不可)ミュータブル(変更可能) に分類されます。

  • イミュータブル(Immutable): 一度作成されたら内容を変更できないデータ型。
    • 例: int, float, str, tuple
  • ミュータブル(Mutable): 内容を変更したり、要素を追加・削除できるデータ型。
    • 例: list, dict, set

イミュータブルの例(タプル)

タプルの大きな特徴は、要素の変更ができないことです。

tuple-immutable.py
fruits = ("apple", "banana", "cherry")
fruits[0] = "grape" # エラー発生

タプルはイミュータブルなので、作成後に要素の変更はできません。

ミュータブルの例(リスト)

list-mutable.py
fruits_list = ["apple", "banana", "cherry"]
fruits_list[0] = "grape" # 問題なく変更可能
print(fruits_list) # ['grape', 'banana', 'cherry']

リストはミュータブルなので、要素を自由に変更できます。

タプルの要素を変更する

タプルの要素を変更する必要がある場合は、タプルをリストに変換してから編集し、再びタプルに戻す方法があります。

tuple-change.py
fruits = ("apple", "banana", "cherry")
fruits_list = list(fruits) # リストに変換
fruits_list[0] = "grape"
fruits = tuple(fruits_list) # 再びタプルに変換
print(fruits) # ('grape', 'banana', 'cherry')

タプルとリストの違い

違いを表でまとめると下記の通りです。

項目タプルリスト
変更❌ 不可✅ 可
速度✅ 速い❌ やや遅い
メモリ消費✅ 少ない❌ 多め
使用例座標・定数の表現汎用的な配列操作

タプルまとめ

  • タプルはイミュータブルなデータ型で、一度作成すると変更できない。
  • インデックスやスライスで要素を取得できる。
  • +* を使って結合や繰り返しが可能。
  • * を使った分割代入が可能。
  • 変数のスワップや関数の戻り値の受け取りに便利。
  • 関数の戻り値や辞書のキーとして便利に使える。

Pythonでタプルを適切に使いこなすことで、より安全で効率的なコードを書くことができます。


Pythonユーザにお勧めの本

スッキリわかるPython入門 第2版
(スッキリわかる入門シリーズ)

新品価格
¥2,750 から
(2025/5/10 15:50時点)

独習Python

新品価格
¥2,970 から
(2025/5/10 16:00時点)

VTuberサプーが教える!  Python
初心者のコード/プロのコード

新品価格
¥2,803 から
(2025/5/10 16:01時点)

Python1年生 第2版
体験してわかる!会話でまなべる!
プログラミングのしくみ

新品価格
¥1,960 から
(2025/5/10 20:15時点)


以上で本記事の解説を終わります。
よいITライフを!
Scroll to Top