Python 3におけるリストとタプルの違いは何ですか?

PYTHON3 チュートリアル

リストとタプルの基本的な違い

Pythonのデータ構造には、リストとタプルという二つの重要な型があります。両者は見た目が似ていても、その性質と用途には大きな違いがあります。まず、リストは「可変」であるのに対し、タプルは「不変」です。この基本的な違いが、リストとタプルの使い道を大きく分けています。

リストの特性と利用例

リストは可変であるため、プログラム実行中にその内容を変更することができます。具体的には、要素の追加、削除、または既存の要素の変更が可能です。これにより、データが動的に変化するアプリケーションに適しています。

# リストの作成
my_list = [1, 2, 3]
print("元のリスト:", my_list)

# リストに要素を追加
my_list.append(4)
print("要素を追加:", my_list)

# リストの要素を削除
my_list.remove(2)
print("要素を削除:", my_list)

# リストの要素を変更
my_list[0] = 100
print("要素を変更:", my_list)

タプルの特性と利用例

タプルは不変であるため、一度作成した後はその内容を変更することができません。タプルの不変性は、データが変更されることなく保持されるべき場合や、プログラムの中で安全にデータを渡す必要がある場合に有利です。

# タプルの作成
my_tuple = (1, 2, 3)
print("タプル:", my_tuple)

# タプルは変更不可であるため、このコードはエラーを発生させます
try:
    my_tuple[0] = 100
except TypeError as e:
    print("エラー発生:", e)

リストとタプルの適切な使用場面

リストは要素の追加や削除が頻繁に必要な場合や、要素の順序を変える必要がある場合に適しています。一方、タプルはプログラム全体で一貫したデータを保持する必要がある場合や、辞書のキーとして使用する場合に適しています(辞書のキーは不変でなければならないため)。

# 辞書にタプルをキーとして使用
coordinates = {(35.6895, 139.6917): "東京", (40.7128, -74.0060): "ニューヨーク"}
print("座標で都市を検索:", coordinates[(35.6895, 139.6917)])

このように、リストとタプルはそれぞれ異なる特性を持ち、使用するシナリオによって選択が分かれます。プログラムの要件に応じて、適切なデータ構造を選ぶことが重要です。

購読
通知
0 Comments
Inline Feedbacks
View all comments