【Python】レッスン4-09:タプルの基本を理解しよう

一つ前のLessonでは4種類のデータ構造について学習しました。
今回はタプルの基本について見ていきましょう。
Lesson1:基礎文法編
Lesson2:制御構造編
Lesson3:関数とスコープ編
Lesson4:データ構造編
・Lesson4-1:リストの定義と要素の追加を理解しよう
・Lesson4-2:リストの要素を削除しよう
・Lesson4-3:リストの情報を調べよう
・Lesson4-4:リストの集計・並べ替えを理解しよう
・Lesson4-5:リストのスライスを理解しよう
・Lesson4-6:リストのループ処理を理解しよう
・Lesson4-7:リストの内包表記を理解しよう
・Lesson4-8:リスト・タプル・辞書・集合の概要と違いを理解しよう
・Lesson4-9:タプルの基本を理解しよう ◁今回はココ
・Lesson4-10:タプルのアンパックを理解しよう
・Lesson4-11:辞書の基本を理解しよう
・Lesson4-12:辞書のループ処理を理解しよう
・Lesson4-13:辞書の内包表記を使ってリストから辞書を作ろう
・Lesson4-13:集合(セット)の基本を理解しよう
・練習問題4-1:宝探しゲームを作ろう
・練習問題4-2:ナインゲームを作ろう
・練習問題4-3:マルバツゲームを作ろう
Lesson5:オブジェクト指向編
次のステップ:Python基礎習得者にお勧めの道5選(実務or副業)
タプルの基本をおさえる|定義・違い・相互変換をまとめて理解
タプル(tuple)は ( ) とカンマで要素を並べる変更不可(不変)なデータ構造です。
要素の並びを安全に固定でき、アンパック代入や多値の返却、辞書のキーや集合の要素など“変更されないこと”が求められる場面で威力を発揮します。
この知識を身につけると「リストかタプルか」を目的で使い分けられ、意図しない更新バグの防止やパフォーマンス・可読性の向上にもつながります。
読み終える頃には、タプルを“いつ・なぜ使うか”を自信を持って判断できるはずです。まずは定義のしかたと基本の使い方から見ていきましょう。

タプル定義の基本|丸括弧とカンマで定義
タプルは 丸括弧 () を使って定義します。複数の要素をカンマで区切りながら括弧内に列挙するだけです。
以下はタプルの定義例です。
# タプルの定義
fruits = ("apple", "banana", "cherry")
print(fruits) # ('apple', 'banana', 'cherry')要素が1つだけのタプルを定義する場合でも、カンマを付ける必要があります。
# 要素が1つのタプル
single_element_tuple = ("apple",)
print(single_element_tuple) # ('apple',)タプルとリストの共通点と違い
タプルとリストの主な違いは、前述した通りタプルがイミュータブルである点です。
リストはミュータブル(変更可能)なため、要素の追加や削除が自由に行えますが、タプルはそうではありません。
このためプログラム内で変更する必要のないデータや、意図せずにデータが変更されるのを防ぎたい場合にタプルが使われます。
| データ構造 | 要素の変更 | 要素の追加・削除 | 定義方法 |
|---|---|---|---|
| リスト | ミュータブル | 可 | [] |
| タプル | イミュータブル | 不可 | () |
また、タプルで使える基本的な操作はリストとほぼ同様です。
例えばlen() 関数やcountメソッド、indexメソッドでタプルの情報を取得したり、in 演算子で要素が存在するかを確認したりすることができます。
これらについてはリストの解説で詳しく学んでいるため、ここでは詳細な説明を割愛します。
復習する場合は以下の記事を参照してください↓↓

文字列、リスト、タプルの相互変換方法|splitとtupleとjoin
文字列とリストやタプルは、特定の関数やメソッドを使用して相互に変換することができます。
それぞれの役割と使い方を以下で詳しく説明します。
split()メソッドの使い方|文字列のリスト化
split()メソッド は、文字列を指定した区切り文字で分割してリストに変換するメソッドです。
例えば、カンマ区切りの文字列をリストに変換する場合に使います。
# 文字列をリストに分割
fruits_str = "apple, banana, cherry" # 3つの単語を含んだ一つの文字列
fruits_list = fruits_str.split(", ") # split()メソッドで、fruits_strを「, 」で区切ってリスト化
print(fruits_list) # ['apple', 'banana', 'cherry']上記の例では、文字列 "apple, banana, cherry" をカンマとスペースで分割し、リスト ['apple', 'banana', 'cherry'] に変換しています。
tuple()関数の使い方|文字列やリストのタプル化
tuple()関数 は文字列やリストをタプルに変換する組み込み関数です。
文字列なら文字ごとに、リストなら要素ごとにタプルの要素として格納します。
# 文字列やリストをタプルに変換
apple_str = "apple" # 5つの文字を含んだ文字列
fruits_str = "apple, banana, cherry" # 3つの単語を含んだ一つの文字列
apple_tuple = tuple(apple_str)
fruits_tuple = tuple(fruits_str.split(", ")) # split()メソッドでリスト化し、それをtuple()関数でタプル化
print(apple_tuple) # ('a', 'p', 'p', 'l', 'e',)
print(fruits_tuple) # ('apple', 'banana', 'cherry')この例では、文字列 "apple" を5の文字で分割してタプル化し、またリスト ['apple', 'banana', 'cherry'] 作成後にそれをタプル化しています。
join()メソッドの使い方|リストやタプルの文字列化
join()メソッド はリストやタプルの各要素を指定した文字で連結し、1つの文字列にするメソッドです。
例えば、リストやタプルの要素をカンマ区切りの文字列に変換したいときに便利です。
# タプルを文字列に変換
fruits_tuple = ("apple", "banana", "cherry") # 3つの要素を含んだタプル
fruits_str = ", ".join(fruits_tuple) # join()メソッドで、fruits_strを「, 」で連結して文字列化
print(fruits_str) # 'apple, banana, cherry'この例ではタプル ("apple", "banana", "cherry") の各要素をカンマとスペースで連結し、1つの文字列 'apple, banana, cherry' に変換しています。
まとめ|不変の並びを安全に扱い、目的でリストと使い分けよう
タプルは変更する必要のないデータを扱う場合に適したコレクション型です。
リストと似た操作ができ、要素数を調べたり、特定の要素が存在するか確認することも可能です。またsplit と join によって文字列との相互変換もできます。
タプルを正しく理解して適切な場面で使うことで、Pythonプログラムの安定性や安全性を向上させることができます。
- サイト改善アンケート|ご意見をお聞かせください(1分で終わります)
-
本サイトでは、みなさまの学習をよりサポートできるサービスを目指しております。
そのため、みなさまの「プログラミングを学習する理由」などをアンケート形式でお伺いしています。1分だけ、ご協力いただけますと幸いです。
【Python】サイト改善アンケート
練習問題:タプルを使ってみよう
この記事で学習した「タプル」を復習する練習問題に挑戦しましょう。

問題|国名を使ったタプルと文字列の変換プログラム
タプルを使って国名を扱うプログラムを作成しましょう。
最初にいくつかの国名を含むタプルを定義します。その後、タプルをカンマで区切った文字列に変換し、再びタプルに戻す操作を行ってください。
以下の要件に従ってコードを完成させてください。
- 3つの国名を含むタプル
countriesを定義すること。 - タプルを
joinメソッドを使ってカンマ区切りの文字列に変換し、それを表示すること。 - 変換した文字列を
splitメソッドを使ってリストに分割し、それを表示すること。 - 分割したリストを
tuple関数を使って再びタプルに変換し、それを表示すること。
ただし、以下のような実行結果となるコードを書くこと。
タプルの内容: ('Japan', 'USA', 'France')
タプルを文字列に変換: Japan, USA, France
文字列をリストに分割: ['Japan', 'USA', 'France']
リストをタプルに戻す: ('Japan', 'USA', 'France')解答例|国名タプルの相互変換プログラム
例えば以下のようなプログラムが考えられます。
- 正解コード
-
countries = ("Japan", "USA", "France") # タプルの内容を表示 print("タプルの内容:", countries) # joinメソッドを使って、タプルの要素をカンマ区切りの文字列に変換 countries_str = ", ".join(countries) print("タプルを文字列に変換:", countries_str) # splitメソッドを使って、文字列を再びリストに変換 countries_list = countries_str.split(", ") print("文字列をリストに分割:", countries_list) # 文字列をタプルに再変換 countries_tuple_again = tuple(countries_list) print("リストをタプルに戻す:", countries_tuple_again)
タプルの基本の疑問解消|FAQと用語のまとめ
初心者がつまずきやすいポイントをFAQとしてまとめ、またよく使う専門用語をわかりやすく整理しました。
理解を深めたいときや、ふと疑問に感じたときに役立ててください。
FAQ|タプルの基本に関するよくある質問
- Q1. タプルを使うメリットは何ですか?
-
タプルはイミュータブル(変更不可)なため、安全性とパフォーマンスに優れています。変更が不要な固定データを扱うときに適しています。
- Q2. split()とjoin()の違いは何ですか?
-
split()は文字列を指定した区切りで分割しリストに変換、join()はリストなどの要素を文字列に連結します。タプルとは直接関係ありませんが、型変換を組み合わせて連携可能です。
- Q3. タプル内に文字列がある場合、joinで連結できますか?
-
はい、タプルの要素がすべて文字列であれば、
join()を使って1つの文字列に結合できます。ただし要素に数値があるとエラーになるため、型変換が必要です。
Python用語集|タプルの基本に関する用語一覧
今回の記事で出てきた用語・関数などを一覧で紹介します。
このサイトに出てくる 全てのPython用語をまとめた用語集 も活用してください。
| Python用語 | 定義・使い方の概要 | 解説記事へのリンク |
|---|---|---|
| リスト | 順序付きで複数の要素を保持できるデータ構造。変更可能なミュータブル型 | Lesson4-1 |
| タプル | リストに似たシーケンス型で、要素の変更ができないイミュータブル型 | 本記事 |
| ミュータブル | 作成後に内容を変更できるデータ型。リストや辞書などが該当 | 本記事 |
| イミュータブル | 作成後に内容を変更できないデータ型。数値型、文字列型、タプルなどが該当 | 本記事 |
split() メソッド | 文字列を指定した区切り文字で分割し、リストとして返すメソッド | 本記事 |
tuple() 関数 | 他のイテラブル(リストなど)をタプルに変換する関数 | 本記事 |
join() メソッド | リストなどの複数の文字列を、指定した区切り文字で連結して1つの文字列にするメソッド | 本記事 |
覚えたPythonでお金を稼ごう
あなたは何のためにPythonを勉強していますか?
Pythonは様々な分野で利用される、非常に万能な言語です。しかしPythonの基礎を覚えただけでは、業務や副業には直結しません。
基礎はあくまでも基礎。それを応用する方法を考えないといけません。
2025年現在、最もお勧めなのは 生成AIエンジニア になる道。
ChatGPTなどのAIを理解し、Pythonを使って動かすエンジニアになれば、そのスキルだけで当面は安泰でしょう。
その方向へ進む場合は、経済産業省のお墨付きもある DMM 生成AI CAMP で学ぶことが最も確実で近い道です。
Pythonの基礎も含めて学習できますので、興味のある方はぜひ↓↓のレビュー記事を参考にしてください。

もしくは、生成AIが誕生するよりも以前からあり、今後も根強い需要があると思われる、汎用的なPythonエンジニアになるのもお勧めです。
Excelの自動化技術 を覚えれば、副業でコツコツ稼ぐこともできるでしょう。
2025年現在、Pythonを用いてどのようにお金を稼ぐのが効率的なのか。
是非↓↓の記事を参考にしてください。



