(Python 2.7.2)我想更好地理解为什么在映射到键的值为0时使用字典.get()方法查找键时返回默认值。
考虑以下
x = {1:0}
print x.get('1', 'a')
'a'
空字符串、集合等也会发生同样的情况。
但如果我这样做:
print x[1]
0
当引发 a 并且返回的值为 0 或空集时,该方法是否.get()
返回default value
两者?keyError
是否与 dict 对象是不可变的事实有关,并且当我指向存储在 上的值时key = 1
,我得到了一个对等于 False 的对象的引用。
我知道我可以编写自己的 get 方法来执行
def get(key, default=None):
try: return x[key]
except KeyError: return default
但我想对该.get
方法有更深入的了解。