>>> help(dict)
Help on class dict in module builtins:
class dict(object)
| dict() -> new empty dictionary
| dict(mapping) -> new dictionary initialized from a mapping object's
| (key, value) pairs
...
|
| get(...)
| D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.
|
...
11 回答
如果您需要更透明的解决方案,可以继承
dict
以获取此行为:您可以使用
dict
对象的get()
方法,正如其他人已经建议的那样 . 或者,根据您正在做的事情,您可以使用这样的try/except
套件:这被认为是处理案件的非常“Pythonic”方法 .
您可以通过继承dict来覆盖
__missing__(self, key)
并返回None .你可以用get()
如果
key is not in d
将返回None
. 您还可以提供将返回的其他默认值,而不是None
:正如其他人上面所说,你可以使用get() .
但要检查密钥,您还可以:
对于这样的情况,我通常使用defaultdict . 您提供了一个不带参数的工厂方法,并在看到新键时创建一个值 . 当你想要在新键(see the examples)上返回类似空列表的内容时,它会更有用 .
一线解决方案是:
这在尝试将字典值添加到新列表并希望提供默认值时非常有用:
例如 .
如果你能用
False
做,那么,还有hasattr内置功能:不要再想了 . 它内置于语言中 .
使用dict.get
您应该使用
dict
类中的get()
方法这将导致
r == None
. 如果在字典中找不到密钥,则get函数返回第二个参数 .