Python タプル (Tuples)
1. タプル (Tuples) とは
タプル(Tuples)は、1つの変数の中に複数の項目を保存するために使用されます。
Pythonに組み込まれている4つのデータ型(List, Tuple, Set, Dictionary)の一つであり、順序があり(Ordered)、変更不可能(Unchangeable)であるという特徴を持ちます。
タプルは丸括弧 () を使用して記述します。
例:タプルの作成
thistuple = ("apple", "banana", "cherry")
print(thistuple)2. タプル項目の特性 (Tuple Items)
タプル内の項目には以下の3つの大きな特徴があります。
- 順序がある (Ordered): 項目には定義された順序があり、その順序は変わりません。
- 変更不可能 (Unchangeable): タプルを作成した後、その項目を変更、追加、削除することはできません。
- 重複を許容 (Allow Duplicates): インデックスによって管理されているため、同じ値を持つ項目を複数持つことができます。
エンジニアの視点: > 「変更できない」というのは不便に聞こえるかもしれませんが、これは「データの保護」に役立ちます。設定値や地理座標など、プログラム実行中に書き換わってほしくない値を扱うのに最適です。
3. タプルの長さ (Tuple Length)
リストと同様に、len() 関数を使用してタプルに含まれる項目の数を確認できます。
thistuple = ("apple", "banana", "cherry")
print(len(thistuple))4. 1つの項目を持つタプルの作成
ここが初心者の落とし穴です!項目が1つだけのタプルを作成する場合、値の後にカンマ , を付ける必要があります。そうしないと、Pythonはそれをタプルとして認識せず、ただの文字列や数値として扱います。
例:1つの項目を持つタプル(正しい例と間違った例)
# 正解:タプルとして認識される
thistuple = ("apple",)
print(type(thistuple))
# 不正解:文字列(str)として認識される
not_a_tuple = ("apple")
print(type(not_a_tuple))5. データ型とコンストラクタ
タプルには、文字列、数値、ブーリアンなど、あらゆるデータ型を含めることができ、混在させることも可能です。
- データ型の確認:
type()を使うと<class 'tuple'>と表示されます。 tuple()コンストラクタ: リストなど他のイテラブルからタプルを作成する際に便利です。
# コンストラクタを使用した作成(二重の丸括弧に注意)
thistuple = tuple(("apple", "banana", "cherry"))
print(thistuple)6. Pythonのコレクション比較
| コレクション | 順序 | 変更 | 重複 |
|---|---|---|---|
| List | あり | 可能 | 許容 |
| Tuple | あり | 不可能 | 許容 |
| Set | なし | 不可能* | 不可 |
| Dictionary | あり** | 可能 | 不可 |
セット項目自体は変更不可ですが、追加・削除は可能です。
Python 3.7以降。
タプルはリストに比べて動作がわずかに高速で、メモリ消費も少ないというメリットがあります。データの「読み取り専用リスト」が必要なときは、迷わずタプルを選びましょう。