2020年3月29日日曜日

【辞書】辞書の生成、値の取得、変更、追加

キー(key)と値(value)を組み合わせたマッピングオブジェクトである辞書(dict型)の使い方について説明する



1. 辞書の生成

 辞書の構造は組となるキー(key)と値(value)をコロン:で区切り、組をカンマ,で区切る。全体を波かっこ{}で囲う。
府県名をキー、人口(万人)をオブジェクトとした例。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
print(population)

実行結果

{'大坂': 882, '兵庫': 546, '京都': 261}


dictを使っても辞書の生成が可能。

population = dict(大坂 = 882, 兵庫 = 546, 京都 = 261)
print(population)

実行結果

{'大坂': 882, '兵庫': 546, '京都': 261}


dictzipを使うことで、キーのリストと値のリストから辞書を生成することが可能。

population = dict(zip(['大坂', '兵庫', '京都'], [882, 546, 261]))
print(population)

実行結果

{'大坂': 882, '兵庫': 546, '京都': 261}


2. キーの指定による値の取り出し

 インデックスとしてキーを与えることで、対応する値を取得できる。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
print(population['京都'])

実行結果

261

存在しないキーを指定するとエラーとなる。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
print(population['奈良'])

実行結果

KeyError: '奈良'


getでキーを与えて値を得ることもできる。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
print(population.get('京都'))

実行結果

261


getの場合存在しないキーを与えてもエラーとならない(何も返さない)。

population = {'大坂': 882, '兵庫': 546, '京都': 261}
print(population.get('奈良'))

実行結果

None


getの2つ目の引数にキーが存在しない場合の応答を記載しておくことが可能。

population = dict(zip(['大坂', '兵庫', '京都'], [882, 546, 261]))
print(population.get('奈良','キーが見つからない'))

実行結果

キーが見つからない


3. 値の変更

 辞書の特定のキーを指定し、値を変更することができる。

population = dict(zip(['大坂', '兵庫', '京都'], [882, 546, 261]))
population['京都'] = 200
population

実行結果

{'大坂': 882, '兵庫': 546, '京都': 200}


4. 値の追加

 新たなキーを指定し値を与えることで、辞書にキー・値を追加できる。

population = dict(zip(['大坂', '兵庫', '京都'], [882, 546, 261]))
population['奈良'] = 135
print(population)

実行結果

{'大坂': 882, '兵庫': 546, '京都': 261, '奈良': 135}


5. リファレンス

Python 標準ライブラリ > マッピング型 --- dict

使用バージョン:Python 3.7.0

0 件のコメント:

コメントを投稿