ネストされた辞書を扱う
辞書の値として、別の辞書を入れることができます。これは、年次・月次・週次といった繰り返し構造のデータを扱うときによく使われる方法です。作成やアクセスのルールは通常の辞書と同じです。
たとえば、私のクッキー消費量を年と種類でランク付けした辞書があるとします。cookies = {'2017': {'chocolate chip': 483, 'peanut butter': 115}, '2016': {'chocolate chip': 9513, 'peanut butter': 6792}} のようになります。2016年に食べたチョコチップクッキーの数は、cookies['2016']['chocolate chip'] でアクセスできます。
新しい辞書を探索するときは、.keys() メソッドを使って、どのようなデータが含まれているかの見取り図を得ると便利です。また、辞書を反復処理すると、各キーがループ内で使える形で取り出されます。
ここでは、キーに公園名、値にリスのデータのネストされた辞書を持つ squirrels_by_park 辞書を読み込んであります。
この演習はコースの一部です
Python のデータ型
演習の手順
squirrels_by_park辞書のキーを出力してください。注: これはpark_namesです。- 公園名
Union Square Parkに対応するsquirrels_by_parkのキーを出力してください。 squirrels_by_park辞書をループ処理してください。- ループの中で、安全に
park_nameとhighlights_in_fur_colorを出力してください。highlights_in_fur_colorが見つからない、または None の場合は'N/A'を出力します。
- ループの中で、安全に
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Print a list of keys from the squirrels_by_park dictionary
print(____)
# Print the keys from the squirrels_by_park dictionary for 'Union Square Park'
print(____)
# Loop over the dictionary
for park_name in squirrels_by_park:
# Safely print the park_name and the highlights_in_fur_color or 'N/A'
print(park_name, squirrels_by_park[____].____('____', '____'))