當我定義詞典在使用清單爲重點爲什麼清單爲重點的字典,仍然將其自身顯示爲元組作爲密鑰詞典
collections.defaultdict(list)
當我把它打印出來,它表明本身使用的元組的關鍵。
我可以知道爲什麼嗎?
import collections
tuple_as_dict_key = collections.defaultdict(tuple)
tuple_as_dict_key['abc', 1, 2] = 999
tuple_as_dict_key['abc', 3, 4] = 999
tuple_as_dict_key['abc', 5, 6] = 888
# defaultdict(<type 'tuple'>, {('abc', 5, 6): 888, ('abc', 1, 2): 999, ('abc', 3, 4): 999})
print tuple_as_dict_key
list_as_dict_key = collections.defaultdict(list)
list_as_dict_key['abc', 1, 2] = 999
list_as_dict_key['abc', 3, 4] = 999
list_as_dict_key['abc', 5, 6] = 888
# defaultdict(<type 'list'>, {('abc', 5, 6): 888, ('abc', 1, 2): 999, ('abc', 3, 4): 999})
# Isn't it should be defaultdict(<type 'list'>, {['abc', 5, 6]: 888, ...
print list_as_dict_key
用於正確解釋事件的 – GWW 2010-11-11 05:36:50
您的意思是,我使用defaultdict(list),但在運行時,這會作爲defaultdict(tuple)處理? – 2010-11-11 05:38:50
不,我的意思是它與此完全無關。 – EMP 2010-11-11 05:40:49