Common Uses of Python Dictionaries with Code Examples
This article explains eight practical applications of Python dictionaries—including data mapping, configuration management, counting, caching, graph representation, grouping, statistical analysis, and simple database simulation—each illustrated with clear code snippets.
Python dictionaries are powerful, flexible data structures that store values by key, making them ideal for many programming tasks.
1. Data mapping and lookup – Dictionaries store key‑value pairs for fast retrieval.
# Store country code to full name mapping
country_codes = {
'US': 'United States',
'CA': 'Canada',
'GB': 'United Kingdom'
}
print(country_codes['US']) # 输出: United States2. Configuration management – Use a dictionary to centralize configuration settings.
config = {
'host': 'localhost',
'port': 8080,
'debug': True
}3. Counter – Dictionaries (or collections.defaultdict) can count occurrences, such as character frequencies in a string.
from collections import defaultdict
text = "hello world"
char_count = defaultdict(int)
for char in text:
char_count[char] += 1
print(char_count) # 输出字符计数4. Caching results – Store previously computed results in a dictionary to avoid repeated expensive calculations.
cache = {}
def expensive_function(x):
if x not in cache:
# 模拟耗时操作
result = x * x
cache[x] = result
return cache[x]5. Graph representation – Model graph structures where keys are nodes and values are adjacency lists.
graph = {
'A': ['B', 'C'],
'B': ['A', 'D', 'E'],
'C': ['A', 'F'],
'D': ['B'],
'E': ['B', 'F'],
'F': ['C', 'E']
}6. Data grouping – Group items by a common attribute using a dictionary of lists.
people = [
{'name': 'Alice', 'age': 30},
{'name': 'Bob', 'age': 25},
{'name': 'Charlie', 'age': 30}
]
grouped_by_age = {}
for person in people:
age = person['age']
if age not in grouped_by_age:
grouped_by_age[age] = []
grouped_by_age[age].append(person)
print(grouped_by_age)7. Statistical analysis – Compute frequency distributions or other aggregates easily.
data = [1, 2, 2, 3, 3, 3, 4, 4, 4, 4]
frequency = {}
for item in data:
frequency[item] = frequency.get(item, 0) + 1
print(frequency)8. Simple database – Simulate a lightweight database with nested dictionaries for CRUD operations.
database = {
1: {'name': 'John', 'age': 28},
2: {'name': 'Jane', 'age': 32}
}
# 添加新记录
database[3] = {'name': 'Dave', 'age': 25}
# 更新记录
if 1 in database:
database[1]['age'] = 29These examples illustrate that because of their flexibility and efficiency, dictionaries can be applied anywhere an associative array is needed, from configuration files to complex data structures.
Test Development Learning Exchange
Test Development Learning Exchange
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.