使用字典的默认值时,当要求迭代所有关键项时,全面循环将显示空白列表
from collections import defaultdict
dict = {'whiz':1,'beerus':2,'vegeta':3,'goku':4}
dict = defaultdict(lambda : 'picalo')
print ([key for key in dict])
[] 退出代码为0的处理结束
答案 0 :(得分:2)
欢迎来到SO。请在问题中附上预期行为的描述,否则您将获得如下答案:
那是因为字典中什么都没有,它只有一个默认值!
据我所知,您正在犯的错误是您正在替换您的字典,而不是为其提供默认值。
我认为您正在寻找的东西是这样的:
from collections import defaultdict
my_dict = {'whiz': 1,'beerus': 2,'vegeta': 3,'goku': 4}
my_dict = defaultdict(lambda: 'picalo', **my_dict)
print(my_dict)
请注意,我是如何命名变量my_dict
而不是dict
的,这是因为dict
是“内置”字典类型,通常不应覆盖(以防止bug消失)行)。