**{0: 'constant', 1:'lambert'}
將兩個默認鍵值對作爲關鍵字參數傳遞給defaultdict()
構造函數。但是,相同的構造函數也會將字典作爲第二個參數作爲默認值處理。在Python 2
collections.defaultdict(lambda: 'blinn', {0: 'constant', 1:'lambert'})
演示,顯示你得到相同的輸出結果::
這樣,**
可完全省略,在這兩個圖2和3
>>> import sys
>>> sys.version_info
sys.version_info(major=2, minor=7, micro=12, releaselevel='final', serial=0)
>>> import collections
>>> collections.defaultdict(lambda: 'blinn', **{0: 'constant', 1:'lambert'}) == collections.defaultdict(lambda: 'blinn', {0: 'constant', 1:'lambert'})
True
>>> collections.defaultdict(lambda: 'blinn', **{0: 'constant', 1:'lambert'})
defaultdict(<function <lambda> at 0x102426410>, {0: 'constant', 1: 'lambert'})
>>> _[0]
'constant'
>>> collections.defaultdict(lambda: 'blinn', {0: 'constant', 1:'lambert'})
defaultdict(<function <lambda> at 0x102426410>, {0: 'constant', 1: 'lambert'})
>>> _[0]
'constant'
和Python 3中:
>>> import sys
>>> sys.version_info
sys.version_info(major=3, minor=6, micro=0, releaselevel='beta', serial=3)
>>> import collections
>>> collections.defaultdict(lambda: 'blinn', {0: 'constant', 1:'lambert'})
defaultdict(<function <lambda> at 0x10e3589d8>, {0: 'constant', 1: 'lambert'})
>>> _[0]
'constant'
'map'是'defaultdict'。如果你使用**,那麼鍵必須是字符串 - 「0」和「1」。 – furas