使用字典的默认值时问题到了

时间:2018-12-22 01:16:29

标签: python-3.x dictionary default-value

使用字典的默认值时,当要求迭代所有关键项时,全面循环将显示空白列表

from collections import defaultdict
dict = {'whiz':1,'beerus':2,'vegeta':3,'goku':4}
dict = defaultdict(lambda : 'picalo')
print ([key for key in dict])

[] 退出代码为0的处理结束

this code is run in pycharm

1 个答案:

答案 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消失)行)。