リストとタプルの基本的な違い
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)])
このように、リストとタプルはそれぞれ異なる特性を持ち、使用するシナリオによって選択が分かれます。プログラムの要件に応じて、適切なデータ構造を選ぶことが重要です。