ホームページ >バックエンド開発 >Python チュートリアル >Pythonでのdefaultdictの説明
このページの目的は?コレクション モジュールからの Python の defaultdict の概念と使用法を説明することです。特に奇妙な名前について説明します。これは、David Baezley の Advanced Python Mastery からインスピレーションを得ています。ex_2_2 > を参照してください。コレクション。
defaultdict:
portfolio [{'name': 'AA', 'shares': 100, 'price': 32.2}, {'name': 'IBM', 'shares': 50, 'price': 91.1}, {'name': 'CAT', 'shares': 150, 'price': 83.44}, {'name': 'MSFT', 'shares': 200, 'price': 51.23}, {'name': 'GE', 'shares': 95, 'price': 40.37}, {'name': 'MSFT', 'shares': 50, 'price': 65.1}, {'name': 'IBM', 'shares': 100, 'price': 70.44}] print("### DEFAULTDICT") from collections import defaultdict print("#### Group data, e.g. find all stocks with the same name") byname = defaultdict(list) for s in portfolio: byname[s["name"]].append(s) byname # defaultdict(<class 'list'>, {'AA': [{'name': 'AA', 'shares': 100, 'price': 32.2}], 'IBM': [{'name': 'IBM', 'shares': 50, 'price': 91.1}, {'name': 'IBM', 'shares': 100, 'price': 70.44}], 'CAT': [{'name': 'CAT', 'shares': 150, 'price': 83.44}], 'MSFT': [{'name': 'MSFT', 'shares': 200, 'price': 51.23}, {'name': 'MSFT', 'shares': 50, 'price': 65.1}], 'GE': [{'name': 'GE', 'shares': 95, 'price': 40.37}]}) print('#### Find all stocks with the name "IBM"') byname["IBM"] # >>> [{'name': 'IBM', 'shares': 50, 'price': 91.1}, {'name': 'IBM', 'shares': 100, 'price': 70.44}]
Lambda の例:
from collections import defaultdict byname = defaultdict(lambda: 0) print(byname["missing_key"]) # This will return 0
以上がPythonでのdefaultdictの説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。