ひとりでのアプリ開発 - fineの備忘録 -

ひとりでアプリ開発をするなかで起こったことや学んだことを書き溜めていきます

Python - タプル(tuple)

初めに

 本記事では、Pythonにおけるタプル(tuple)について、まとめます。タプルとリストの違いなどが分かります。

タプルとは

 タプルとは、複数のデータの組み合わせから構成される配列のようなものです。組とも呼ばれ、複数の要素が決まった順番にならんだ値を指します。

# 整数のタプル
integer_tuple = (1, 2, 3, 4, 5)
# 文字列のタプル
string_tuple = ("apple", "banana", "cherry")
# 異なるデータ型を持つタプル
mixed_tuple = (1, "hello", 3.14, True)
# 日付のタプル
date_tuple = (2023, 11, 11)
# 空のタプル
empty_tuple = ()
# タプルのネスト
nested_tuple = ((1, 2), ("apple", "orange"), (True, False))

 タプルオブジェクトは、複数の値をカンマで区切って記述します。括弧はなくてもよいですが、わかりにくいので括弧で囲んで記述します。

タプルの性質

 タプルは次のような性質を持ちます。

性質 説明
不変性(Immutable) タプルは一度作成されたら変更できません。要素の追加や削除、変更ができません。

タプルとリストの違い

 タプルとリストは似ていますが、次のような違いがあります。

タプル リスト
不変性 可変
丸括弧()で定義される 角括弧[]で定義される

参照

 タプル内の要素を参照するには、インデックス(添え字)を使います。インデックスは 0 から始まります。

# 文字列のタプルを作成
string_tuple = ("apple", "banana", "cherry")

# インデックスを使用して要素を参照
first_element = string_tuple[0]  # apple
second_element = string_tuple[1]  # banana
third_element = string_tuple[2]  # cherry

比較演算子

 2 つのタプルを比較演算子を使って、比較することができます。

(相等:==)

tuple1 = (1, 2, 3)
tuple2 = (1, 2, 3)

result = tuple1 == tuple2  #tuple1とtuple2が等しいかどうか
print(result)  # 出力: True

 すべての要素が等しい場合にタプルが True となります。

(不等:!=)

tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)

result = tuple1 != tuple2  #tuple1とtuple2が等しくないかどうか
print(result)  # 出力: True

 1 つでも異なる要素があれば、等しくないと判定され True となります。

(大小の比較:<, >, <=, >=)

tuple1 = (1, 2, 3)
tuple2 = (1, 2, 4)

result = tuple1 < tuple2
print(result)  # 出力: True

 タプル内の各要素が順番に比較され、最初に異なる要素が見つかった時点で比較が決まります。例えば、(1, 2, 3) と (1, 2, 4) の比較では、最初の2つの要素は等しいため、3番目の要素の比較で大小が決まります。

タプルの使用用途

 複数の値をまとめて扱い、変更されることを避けたい場合に適しています。関数の戻り値や辞書のキーなど、変更が不要な場面で利用されます。テストの結果などの不変なデータもタプルで扱ったほうが良いでしょう。