![見出し画像](https://assets.st-note.com/production/uploads/images/10395564/rectangle_large_type_2_fea9dfb4f68893deda48ee10260a8f6a.jpeg?width=1200)
Photo by
albertus
[Python]defaultdictを使った辞書データの作成
1.辞書データの作成
defaultdictモジュールを用いた辞書データを作ります。作成元となるデータはタプルが入ったリストで、タプルには本の作者、タイトルのデータが格納されています。同じ著者から違うタイトルの本が出版されている場合があるので、作成する辞書データはキーに著者名を、値には本のタイトルをリストで表現します。
2.コード
from collections import defaultdict
#作成元データ
author_book = [("太宰治", "人間失格"), ("夏目漱石", "坊ちゃん"),
("太宰治", "斜陽"), ("夏目漱石", "草枕"),
("芥川龍之介", "鼻"), ("谷崎純一郎", "春琴抄")]
"""
存在しないキーを参照された際に渡された引数の戻り値を辞書の値として返す
(この場合はlist()で空のリストを返す)
"""
dd = defaultdict(list)
#辞書作成
for author, title in author_book:
dd[author].append(title)
#辞書呼び出し
for author, book_list in dd.items():
print("著者名:{0}".format(author))
print("作品一覧:{0}部".format(len(book_list)))
for book in book_list:
print("\t-", book)
print("=" * 20)
3.実行結果
著者名:太宰治
作品一覧:2部
- 人間失格
- 斜陽
====================
著者名:夏目漱石
作品一覧:2部
- 坊ちゃん
- 草枕
====================
著者名:芥川龍之介
作品一覧:1部
- 鼻
====================
著者名:谷崎純一郎
作品一覧:1部
- 春琴抄
この記事が気に入ったらサポートをしてみませんか?