Free Online Code Editor
Create dictionaries with default values.
from collections import defaultdict
# Basic defaultdict
dd = defaultdict(int)
dd["a"] += 1
dd["b"] += 1
dd["a"] += 1
print(f"Defaultdict: {dict(dd)}")
# Group items
words = ["apple", "banana", "apple", "cherry", "banana", "apple"]
word_count = defaultdict(int)
for word in words:
word_count[word] += 1
print(f"\nWord counts: {dict(word_count)}")
# Default list
dd_list = defaultdict(list)
dd_list["fruits"].append("apple")
dd_list["fruits"].append("banana")
dd_list["vegetables"].append("carrot")
print(f"\nGrouped: {dict(dd_list)}")
# Default set
dd_set = defaultdict(set)
dd_set["colors"].add("red")
dd_set["colors"].add("blue")
dd_set["colors"].add("red") # Duplicate ignored
print(f"\nUnique: {dict(dd_set)}")
# Custom default factory
def default_value():
return "N/A"
dd_custom = defaultdict(default_value)
print(f"\nCustom default: {dd_custom['missing']}")defaultdict automatically creates missing keys with default value. Pass factory function (int, list, set, or custom) to constructor.