1
如果我在字典上設置了默認值,是否可以在覆蓋後返回默認值?可以通過setdefault獲取默認值
像這樣:
dd = {}
dd.setdefault('beverage':'A nice cup of tea')
...
dd['beverage'] = 'Yellow urine'
...
if dd['beverage'] not in list_of_valid_beverages:
# If the beverage has been contaminated revert to default.
# Something like any of the following?
dd['beverage'] = dd.getdefault('beverage')
dd['beverage'].clear()
del dd['beverage']
...
print dd['beverage']
我的猜測是,這是不可能用普通字典。問鼎聲明
DD [ '飲料'] = '小便黃'
執行茶是永遠失去了。但這將是一個很好的功能:-)
任何人有更深入的瞭解?
值得注意的是,你可以繼承'defaultdict'並覆蓋'__missing__'函數,這樣你就可以得到一個新的類,該類記錄何時調用__missing__'並保存新構造的默認值。 – torek