今天,我们将一起发现并解决在使用字典时遇到的15个常见陷阱,让你的编程之旅更加顺畅。
第一部分:字典基础与常见错误
1. 创建字典的误解
错误场景:尝试用列表推导式创建字典时,键重复导致覆盖。
# 错误示范
keys = ['a', 'b', 'a']
values = [1, 2, 3]
my_dict = {k: v for k, v in zip(keys, values)}
print(my_dict) # 输出可能不是预期,因为'a'键被覆盖了
解决方案:使用collections.defaultdict避免键冲突。
from collections import defaultdict
my_dict = defaultdict(list)
for k, v in zip(keys, values):
my_dict[k].append(v)
print(my_dict) # {'a': [1, 3], 'b': [2]}
2. 字典访问未初始化键
错误场景:
my_dict = {}
value = my_dict['not_here'] # KeyError
解决方案:使用get方法安全访问。
value = my_dict.get('not_here', '默认值')
print(value) # 输出 '默认值'
3. 字典更新时的键冲突
错误理解:
dict1 = {'x': 1}
dict2