タプルの生成と操作 | タプルの定義 | Python本格超入門

スポンサーリンク
スポンサーリンク

タプルの生成と操作

タプルはPythonの重要なデータ型の一つで、リストと同様に複数の要素を格納するためのデータ構造です。しかし、タプルはその性質上、一度生成すると変更ができないという特徴があります。このような特性により、リストとは異なる用途で利用されます。本記事では、タプルの基本的な生成方法と、それに対する基本的な操作を紹介します。

タプルの生成

タプルは、カンマ区切りで値を並べるか、括弧 () を使って生成します。また、空のタプルも簡単に作成できます。


# タプルの生成
fruits = ("apple", "banana", "cherry")
print(fruits)  # 出力: ('apple', 'banana', 'cherry')

# 1つの要素のみを含むタプル(カンマが必要)
single_element_tuple = ("apple",)
print(single_element_tuple)  # 出力: ('apple',)

# 空のタプル
empty_tuple = ()
print(empty_tuple)  # 出力: ()
    

タプルの要素へのアクセス

タプルの要素には、リストと同様にインデックスを使ってアクセスします。インデックスは0から始まり、マイナスのインデックスも使用できます。


# インデックスを使ったアクセス
fruits = ("apple", "banana", "cherry")
print(fruits[1])  # 出力: banana

# マイナスインデックスを使用
print(fruits[-1])  # 出力: cherry
    

タプルの変更

タプルは不変(immutable)であるため、一度作成したタプルの要素を変更することはできません。ただし、タプル内にリストなどの可変オブジェクトを含む場合、そのリスト自体は変更可能です。


# タプルの要素を変更しようとするとエラーが発生
fruits = ("apple", "banana", "cherry")
# fruits[0] = "orange"  # TypeError: 'tuple' object does not support item assignment

# タプル内にリストが含まれている場合、そのリストは変更可能
nested_tuple = (1, 2, [3, 4])
nested_tuple[2][0] = 99
print(nested_tuple)  # 出力: (1, 2, [99, 4])
    

タプルの結合と繰り返し

タプルは結合や繰り返しの操作が可能です。これにより、元のタプルを変更することなく、新しいタプルを作成することができます。


# タプルの結合
tuple1 = (1, 2)
tuple2 = (3, 4)
combined_tuple = tuple1 + tuple2
print(combined_tuple)  # 出力: (1, 2, 3, 4)

# タプルの繰り返し
repeated_tuple = tuple1 * 3
print(repeated_tuple)  # 出力: (1, 2, 1, 2, 1, 2)
    

タプルの応用

タプルは、関数の戻り値として複数の値を返す場合や、辞書のキーとして利用されることが多いです。リストが変更可能なのに対し、タプルは変更不可であるため、データを保護したい場合に便利です。


# 関数の戻り値として複数の値を返す
def get_coordinates():
    return (10, 20)

x, y = get_coordinates()
print(x, y)  # 出力: 10 20

# タプルを辞書のキーとして使用
person_info = {("John", "Doe"): 30, ("Jane", "Smith"): 25}
print(person_info)  # 出力: {('John', 'Doe'): 30, ('Jane', 'Smith'): 25}
    

まとめ

タプルは、不変性を持つため、変更の必要がないデータを扱う際に非常に有用です。リストと異なり、タプルはその要素を変更することができませんが、タプル自体を操作して新しいタプルを生成することが可能です。用途に応じてタプルとリストを使い分けることが大切です。次回は、タプルとリストの違いについて詳しく解説します。