TAKEO

TAKEO

Pythonのコンテナ型一覧

Pythonにおけるコンテナ型とは、複数のデータをまとめて格納するデータ構造を指します。以下に主なコンテナ型を説明します。


1. リスト(list

  • 説明: 順序を持つ変更可能なコンテナ。異なる型の要素を格納可能。
  • 特徴:
    • インデックスによるアクセスが可能
    • 要素の追加・削除が容易
    • ミュータブル(変更可能)
  • 作成例:
    Copied!!
    my_list = [1, 2, 3, "hello"]
    my_list.append(4)  # [1, 2, 3, 'hello', 4]
    

2. タプル(tuple

  • 説明: 順序を持つ変更不可能なコンテナ。リストより軽量で高速。
  • 特徴:
    • インデックスによるアクセスが可能
    • イミュータブル(変更不可)
    • ハッシュ可能(リストとは異なり、辞書のキーとして利用可能)
  • 作成例:
    Copied!!
    my_tuple = (1, 2, 3, "hello")
    # my_tuple[0] = 4  # エラーが発生する
    

3. 辞書(dict

  • 説明: キーと値のペアを保持するコンテナ。キーを使った高速なアクセスが可能。
  • 特徴:
    • キーはユニークで、ハッシュ可能である必要がある(文字列や数値が一般的)
    • ミュータブル(変更可能)
  • 作成例:
    Copied!!
    my_dict = {"key1": 1, "key2": "value"}
    my_dict["key3"] = 3.14  # {"key1": 1, "key2": "value", "key3": 3.14}
    

4. セット(set

  • 説明: ユニークな要素を保持するコンテナ。順序は保証されない。
  • 特徴:
    • 重複を自動的に排除
    • 集合演算(和・積・差など)が可能
    • ミュータブル(変更可能)
  • 作成例:
    Copied!!
    my_set = {1, 2, 3, 3}  # {1, 2, 3}
    my_set.add(4)  # {1, 2, 3, 4}
    

5. frozenset

  • 説明: 変更不可能なセット。
  • 特徴:
    • イミュータブル
    • 他のセット型と同様に集合演算が可能
  • 作成例:
    Copied!!
    my_frozenset = frozenset([1, 2, 3])
    # my_frozenset.add(4)  # エラーが発生する
    

6. 配列型(array モジュール)

  • 公式ドキュメント
  • 説明: 効率的なメモリ管理が可能。
  • 特徴:
    • 要素はすべて同じ型
    • 通常のリストより軽量で高速
  • 作成例:
    Copied!!
    from array import array
    my_array = array('i', [1, 2, 3])  # 整数型の配列
    my_array.append(4)  # array('i', [1, 2, 3, 4])
    

コンテナ型の比較

コンテナ型順序あり重複許可変更可能特徴的な用途
list順序データの格納
tuple不変データの格納
dict✕(キー)キーと値ペアの格納
setユニークな要素の管理
frozenset不変なユニーク要素の管理
array数値の効率的な格納