本文共 689 字,大约阅读时间需要 2 分钟。
在处理大量数据时,涉及到元组或列表的记录归纳统计时,需要将所有列表转换为字典以便统计。以下是一个示例:
l1 = ['张三', '语文', 50]l2 = ['李四', '语文', 60]l3 = ['张三', '数学', 70]l4 = ['李四', '数学', 60]
期望结果为:
{ '张三': [50, 70], '李四': [60, 60]}
from collections import defaultdictl1 = ['张三', '语文', 50]l2 = ['李四', '语文', 60]l3 = ['张三', '数学', 70]l4 = ['李四', '数学', 60]result = defaultdict(list)for record in (l1, l2, l3, l4): name = record[0] score = record[2] result[name].append(score)print(result)
defaultdict
的作用是,当字典中的键不存在时,返回默认值而不是KeyError
。defaultdict
接受一个工厂函数作为参数,用于在键不存在时创建默认值。例如:
defaultdict(list)
:当键不存在时,返回一个空列表。defaultdict(set)
:当键不存在时,返回一个空集合。defaultdict(str)
:当键不存在时,返回一个空字符串。