<一覧に戻る

タプルとリストの違い

Pythonにはデータを格納するためのさまざまなデータ構造がありますが、リストとタプルは最もよく使われる2つです。これらは似たような点もありますが、重要な違いもあります。この教材では、タプルとリストの違いについて詳しく学んでいきましょう。

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

1. ミュータブル vs イミュータブル

  • リストはミュータブル(可変)です。つまり、リストの要素は後から変更、追加、削除することができます。
  • タプルはイミュータブル(不変)です。タプルの要素は作成後に変更することができません。

2. 使い方

  • リストは、要素の変更が必要な場合や、動的にサイズが変更されるデータに適しています。
  • タプルは、固定されたデータを保持する場合や、変更されるべきでないデータに適しています。

3. 性能

  • タプルはイミュータブルであるため、リストよりもメモリ使用量が少なく、処理速度が速いことがあります。

サンプルコード

以下にリストとタプルの基本的な操作を示します。

リストの例

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

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

# 要素の削除
my_list.pop(0)  # インデックス0の要素を削除
print("削除後のリスト:", my_list)

コード解説

  1. my_listというリストを作成し、初期値として1, 2, 3を持っています。
  2. appendメソッドを使って、リストの末尾に4を追加しています。
  3. popメソッドを使って、インデックス0(最初の要素)を削除しています。

タプルの例

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

# タプルはイミュータブルなので、以下の行はエラーになります
# my_tuple[0] = 10  # TypeError: 'tuple' object does not support item assignment

コード解説

  1. my_tupleというタプルを作成し、初期値として1, 2, 3を持っています。
  2. タプルはイミュータブルであるため、要素の変更を試みるとエラーが発生します。

まとめ

リストとタプルは似ていますが、ミュータブル性と用途において重要な違いがあります。リストは柔軟性が求められるデータに対して、タプルは固定されたデータを扱う際に適しています。データの特性に応じて、適切なデータ構造を選択することが重要です。

出力結果: