Python 辞書の作成:説明と例
この投稿では、Python辞書を作成するさまざまな方法を学びます。
以下の内容をカバーします。
- リストやタプルから辞書へ
for
ループによる辞書の作成- ネストされた辞書の作成
- 辞書を使って辞書や電話帳を作成する
- 辞書からデータフレームへ
1. 一般的な辞書の作成
Pythonの辞書は、キーと値が対になった要素を持つ一種のコレクションです。 辞書は変更可能なのでインデックスとしては使えませんが、キーを使って値を参照することはできます。 また、キーは辞書内で一意でなければなりません。
他のコレクションタイプとの比較は、この投稿を参照してください。
辞書の基本的な作り方は中括弧 {}
を使い、キーと値はコロン :
で結びます。
ここでは空の辞書と値を持つ辞書を作成する方法を示します。
empty_dict_1 = {}
empty_dict_2 = dict()
my_dict = {"apple": 1, "banana": 2, "cherry": 3}
上のコードでは、"apple"
、"banana"
、"cherry"
がキーを表し、1
、2
、3
がそれぞれのキーに対応する値を表します。
2. リストから辞書を作る
リストを辞書に変換するのはとても簡単です。キーと値のリストを辞書に変換するには zip()
と dict()
関数を使用します。
zip()
関数は keys
リストと values
リストをタプルに連結し、dict()
関数はこのタプルを辞書に変換します。
これにより、2つのリストを組み合わせた新しい辞書が作成されます。
keys = ["apple", "banana", "cherry"]
values = [1, 2, 3]
my_dict = dict(zip(keys, values))
3. タプルから辞書を作成する
リストと同様に、タプルは簡単に辞書に変換できる。 辞書を作成するには、タプルの最初の要素をキーとし、2番目の要素を値とします。
タプルに dict()
関数を適用すると、各タプルは辞書のキーと値のペアに変換されます。
tuples = (("apple", 1), ("banana", 2), ("cherry", 3))
my_dict = dict(tuples)
4. for ループによる辞書の作成
辞書内包では、for
ループを使って動的に辞書を作成することができます。
例えば、1から5までの数字をキーとし、それらの数字の2乗を値とする辞書を作ってみましょう。
squares = {i: i**2 for i in range(1, 6)}
5. 入れ子辞書(辞書の中の辞書)の作成
辞書の中に別の辞書を置くこともできる(入れ子辞書)。これにより、データを階層的に構成することができます。
下の例では、入れ子辞書の fruit
と vegetable
が親辞書のキーであり、それらのキーに対応するそれぞれの値が別の辞書です。
nested_dict = {
"fruit": {"apple": 1, "banana": 2},
"vegetable": {"carrot": 3, "pepper": 4}
}
6. 用词典创建英日词典
字典也可以像真正的字典一样使用。这里我们将创建一个简单的英日词典。
dictionary = {
"apple": "苹果",
"banana": "香蕉",
"cherry": "樱桃"
}
在此代码中,英文单词用作键,单词的日语翻译用作值。
7. 辞書を使って電話帳を作る
辞書を使って簡単な電話帳を作ることもできます。人名をキー、電話番号を値とすることができます。
phonebook = {
"John": "010-1234-5678",
"Jane": "010-9876-5432",
"Mike": "010-1357-2468"
}
8. 辞書を使ったデータフレームの作成
データフレームは、Pandasライブラリが提供する2次元の表データ構造です。 複数の列を持ち、それぞれの列は異なる型の値(int、float、strなど)を持つことができます。
辞書を使用すると、データフレームを簡単に作成できます。
import pandas as pd
data = {
"Name": ["John", "Anna", "Peter"],
"Age": [28, 24, 33],
"City": ["New York", "Paris", "Berlin"]
}
df = pd.DataFrame(data)
# Output
Name Age City
0 John 28 New York
1 Anna 24 Paris
2 Peter 33 Berlin
このコードでは、各キーはデータフレームのカラム名で、そのキーに関連付けられたリストはそのカラムの値です。
データフレームを表示すると、カラム名("Name"
、"Age"
、"City"
)とそれに対応する値を見ることができます。
結論
辞書は Python において非常に便利なデータ構造です。 データの保存、取得、操作が簡単になります。
この記事で紹介した Python 辞書を作成するさまざまな方法が、実際の開発で役立つことを願っています。
