下面是一个示例代码,演示如何遍历字典列表,从一个列表中找到匹配的元素,并将匹配的键的值附加到defaultdict中。
from collections import defaultdict
# 定义字典列表
dict_list = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 35}]
# 定义要匹配的元素列表
match_list = ['Alice', 'Charlie']
# 创建一个defaultdict
result_dict = defaultdict(list)
# 遍历字典列表
for item in dict_list:
# 检查字典的'name'键的值是否在匹配列表中
if item['name'] in match_list:
# 将匹配的键的值附加到defaultdict中
result_dict[item['name']].append(item['age'])
# 打印结果
for name, ages in result_dict.items():
print(f"{name}: {ages}")
输出结果:
Alice: [25]
Charlie: [35]
这里使用了一个defaultdict来存储匹配的键值对,其中键是'name'的值,值是匹配的年龄列表。如果匹配的键的值在defaultdict中不存在,会自动创建一个空列表。然后,通过遍历字典列表,检查'name'键的值是否在匹配列表中,如果匹配,则将对应的年龄添加到defaultdict中。最后,打印结果。