假设您在下面定义了一个名为 mydict 的字典,并且您寻找一个名为“D”的键。
mydict = {'A':'a',
'B':'b',
'C':'c'}
mydict['D']
Run Code Online (Sandbox Code Playgroud)
所需的输出应该是“D”,即您输入的确切输出。有没有办法用默认字典来做到这一点?
正如我在评论中提到的,您可以定义自己的字典子类来执行您想要的操作(只是回显缺少的键 \xe2\x80\x94 它不会添加它们):
\nclass MyDefaultDict(dict):\n def __missing__(self, key):\n return key\n\n\nmydict = MyDefaultDict({\'A\':\'a\',\n \'B\':\'b\',\n \'C\':\'c\'})\n\nprint(f"{mydict[\'D\']=}") # -> mydict[\'D\']=\'D\'\n\nRun Code Online (Sandbox Code Playgroud)\n
Acollection.defaultdict用于获取值的工厂,因此在设置一对时,也不在获取它时
只需使用dict.get
mydict = {'A':'a','B':'b','C':'c'}
print(mydict.get('A', 'A')) # a
print(mydict.get('D', 'D')) # D
Run Code Online (Sandbox Code Playgroud)