辞書、集合とは何か | 辞書と集合 | Python本格超入門

スポンサーリンク

スポンサーリンク

辞書、集合とは何か

Pythonでは、複数のデータを効率的に扱うためのコレクション型として、辞書(dictionary)集合(set)が用意されています。これらのデータ構造は、データを格納し操作するために強力な手段を提供しており、他のプログラミング言語と比べても非常に便利で効率的です。この記事では、辞書と集合の基本的な概念と、その特徴や用途について解説します。

辞書とは

辞書は、キーと値のペアを格納するデータ構造です。各キーはユニークであり、同じキーが複数存在することはできません。辞書は中括弧{}を使って定義し、キーと値をコロン:で区切ります。リストやタプルと違って、辞書の要素にはインデックスを使わず、キーでアクセスします。


# 辞書の定義例
person = {
    "name": "Alice",
    "age": 25,
    "city": "Tokyo"
}

# キーを使って値にアクセス
print(person["name"])  # Alice
    

他のプログラミング言語(例: JavaのMap、C++のstd::map)でも似たデータ構造がありますが、Pythonの辞書は動的にサイズが変更でき、さまざまな操作が簡単に行える点が特徴です。キーには任意の不変型データ(整数、文字列、タプルなど)が使用できますが、リストのような可変型は使えません。

集合とは

集合は、重複しない要素の集まりを表すデータ構造です。数学における集合と同様に、Pythonの集合も要素の順序を持たず、各要素は一度しか現れません。集合は中括弧{}で定義され、要素間はカンマで区切られます。


# 集合の定義例
fruits = {"apple", "banana", "cherry"}

# 集合に新しい要素を追加
fruits.add("orange")
print(fruits)  # {'apple', 'banana', 'cherry', 'orange'}
    

他のプログラミング言語でも集合型は存在します(例: JavaのSet、C++のstd::set)。Pythonの集合は、数学的な操作(和、積、差など)が簡単に実行できる点が強力です。また、リストや辞書と異なり、集合の要素は順序がないため、インデックスでアクセスすることはできません。

辞書と集合の違い

辞書と集合は、それぞれ異なる目的で使用されますが、基本的な構造は似ています。以下に辞書と集合の違いをまとめます。

特徴 辞書 集合
目的 キーと値のペアを管理 重複しない要素の集まりを管理
要素のアクセス キーを使って値にアクセス 順序がないためインデックスでアクセスできない
重複 キーは一意 全ての要素が一意
メソッド get(), items() など add(), union(), intersection() など

辞書と集合の使用例

辞書と集合は、それぞれの特徴を活かして異なる場面で活用されます。辞書は、データの検索やキーと値の関連付けが必要な場合に、集合は重複を排除し集合演算を行う場合に便利です。


# 辞書の使用例
person = {"name": "Alice", "age": 25}
print(person.get("name"))  # Alice

# 集合の使用例
set_a = {1, 2, 3}
set_b = {3, 4, 5}

# 和集合
print(set_a.union(set_b))  # {1, 2, 3, 4, 5}
    

辞書では、キーを使って特定のデータに素早くアクセスできます。一方、集合は集合演算(和、積、差)などが簡単に行えるため、重複を排除したデータ管理に便利です。

まとめ

Pythonの辞書と集合は、効率的にデータを管理し操作するための強力なコレクション型です。辞書はキーと値のペアを扱い、データの検索や関連付けに優れています。集合は、重複を許さないデータ集めや、数学的な集合操作を行う際に便利です。どちらも他のプログラミング言語にも似た機能がありますが、Pythonではその操作が簡単で柔軟に行える点が特徴です。