【Python】辞書の作り方と使い方

辞書とは、複数のデータを1つのまとまりの中に入れて、管理できるものです。このように複数のデータを1つにまとめるデータ構造はコンテナと呼ばれており、辞書以外にもリスト、タプル、集合と呼ばれるものがあります。それぞれの特徴は以下の通りです。

辞書
複数のデータ(要素)を格納できる。キーと呼ばれるものと値と呼ばれるものが2つで1組として、格納される。リストやタプルのようにインデックスで関連づけられていない。その代わりにキーで値を指定することができる。

リスト
複数のデータ(要素)を格納できる。各要素にはインデックスと呼ばれる番号が関連づけられており、そのインデックスで要素を指定することができる。リスト内の要素は変更可能。このように変更可能なことをミュータブル(mutable、日本語訳:変更可能な)という。

タプル
複数のデータ(要素)を格納できる。リストと同様、各要素にはインデックスと呼ばれる番号が関連づけられており、そのインデックスで要素を指定することができる。リストとの違いは、タプル内の要素は変更不可能という点がある。このように変更不可能なことをイミュータブル(immutable、日本語訳:変更不可能な)という。

集合
数学の「集合」を表すことができる。各要素は重複しない。変更可能なミュータブルな型、変更不可能なイミュータブルな型、どちらもとることができる。

目次

辞書とリストやタプルとの違い

辞書」と「リストタプル」の大きな違いは、辞書にはキー呼ばれるものと値が2つで一組になって格納されることです(リストタプルは何かと何かが関連づいて1つの組になって格納されることなく、要素と呼ばれるものが単独で格納されます)

辞書の作り方

辞書の作り方には大きく分けて2つあります。
① 波カッコ{ }で囲む
② dict()関数を用いる
それぞれについて見ていきます。

波カッコ{}で囲んで辞書を作る場合

作りたい辞書の始めと最後を波カッコ{}をつけて囲みます。そして、キーと値の間にはコロン:で区切り、各要素はカンマ,で区切ります。キーと値がセットになっていなくてはいけないので、そこは注意が必要です。以下のような形です。
{キー1:値1,キー2:値2,キー3:値3…}
例として、変数animalsに色と動物を関連づけて、辞書を作成してみたいと思います。3行目のコードでデータ型も確認します。

Python
animals ={"brown":"monkey","red":"crab","green":"crocodile"}
print(animals)
print(type(animals))

【実行結果】
{'brown': 'monkey', 'red': 'crab', 'green': 'crocodile'}
<class 'dict'>

dict()関数を用いて辞書を作る場合

dict()関数を用いて作成することもできます。作り方は色々ありますが、ここでは以下の3つを取り上げます。
① キーワード引数を用いて作る場合
② リストを用いて作る場合
zip()関数を用いて作る場合

①キーワード引数で作る場合

キーワード引数を用いて作る場合は
変数名 = dict(キー1 = 値1, キー2 = 値2, キー3 = 値3…)
とすると、辞書が作れます。

Python
animals = dict(brown="monkey",red="crab",green="crocodile")
print(animals) 

【実行結果】
{'brown': 'monkey', 'red': 'crab', 'green': 'crocodile'}

②リストを用いて作る場合

リストを用いて作る場合は引数部分にキーと値のペアのタプルを含むリストから辞書を生成します。
変数名 = dict([(キー1,値1),(キー2,値2),(キー3,値3)…])
とすると辞書が作れます。

Python
animals = dict([("brown","monkey"),("red","crab"),("green","crocodile")])
print(animals)

【実行結果】
{'brown': 'monkey', 'red': 'crab', 'green': 'crocodile'}

③zip()関数を用いて作る場合

zip()関数を用いて辞書を作成する場合は、キーのリストと値のリストから辞書を作成することができます。
変数名 = dict(zip(keyのリスト,値のリスト))

Python
key_animals = ("brown","red","green")
values_animals = ("monkey","crab","crocodile")
animals = dict(zip(key_animals,values_animals))
print(animals)

【実行結果】
{'brown': 'monkey', 'red': 'crab', 'green': 'crocodile'}

▼関連記事:【Python】zip()関数の使い方

辞書の要素を取り出す

辞書の要素を取り出すときは、キーで指定して、値を取り出します。キーを取り出すときは、変数名[キー]とすると、キーに対応した値が取り出せます。キーbrownを指定して、値monkeyを取り出してみましょう。

Python
animals = {"brown":"monkey","red":"crab","green":"crocodile"}
print(animals["brown"])

【実行結果】
monkey

存在しないキーを指定した場合

存在しないキーを指定した場合、エラーメッセージが返されます。

Python
animals = {"brown":"monkey","red":"crab","green":"crocodile"}
print(animals["yellow"])

【エラーメッセージ】
KeyError: 'yellow'

辞書内に同じキーが複数ある場合

Python
animals = {"brown":"monkey","red":"crab","green":"crocodile","red":"shrimp"}
print(animals["red"])

【実行結果】
shrimp
Python
animals = {"brown":"monkey","red":"crab","green":"crocodile","red":"shrimp","red":"red dragon"}
print(animals["red"])

【実行結果】
red dragon
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次