Python中如何創建一個字典,其中的鍵是整數對?字典中的鍵是Python中的整數對
例如,如果我這樣做:
mydict=dict()
mydict[ [1,2] ] = 'xxx'
我得到TypeError: unhashable type: 'list'
於是我想出了兩種不同的解決方案錯誤:字符串或元組作爲密鑰。
第一種解決方案,似乎在對整數轉換成其字符串表示:
mydict=dict()
mydict[ str(1)+" "+str(2) ] = 'xxx'
而第二方案涉及的元組:
mydict=dict()
mydict[ tuple([1,2]) ] = 'xxx'
從一些實驗,我發現,元組解決方案比字符串慢。 有沒有更簡單,快捷的方式來使用兩個整數作爲鍵?
提示:閱讀[PEP-8](http://www.python.org/dev/peps/pep-0008)。它使你的代碼更具可讀性。 –
我覺得你的時機很糟糕。我對它進行了計時,發現直接構建一個元組('mydict [(x,y)]')是最快的。如果先構造一個列表,然後將其轉換爲一個元組(這是不必要的),那麼它需要大約1.7倍的時間('mydict [tuple([x,y])]')。字符串方法最慢,慢2.6倍。如果元組已經存在,你可以使它更快,'mydict [some_tuple]'比'mydict [(x,y)]'快0.7倍。 –
@lazyr僅僅是爲了插入還是爲了訪問? –