我想要建立一個像段樹一樣的段詞典。 我的意思是我想使用序列(11,22)作爲關鍵,如果輸入值像11,它應該使用相同的密鑰。 如何做到這一點。(python)如何更改字典中的密鑰分配?
例如字典是{(11,22):35,(44,45):12}。 我想寫研究員:
for i in dictionary:
blad
blad
如何更改詞典功能使其能夠「在」操作使用?
我想要建立一個像段樹一樣的段詞典。 我的意思是我想使用序列(11,22)作爲關鍵,如果輸入值像11,它應該使用相同的密鑰。 如何做到這一點。(python)如何更改字典中的密鑰分配?
例如字典是{(11,22):35,(44,45):12}。 我想寫研究員:
for i in dictionary:
blad
blad
如何更改詞典功能使其能夠「在」操作使用?
當你使用元組是字典鍵時,它們必須完全用來引用該值。
在你的情況下,(11,22)
是一個關鍵。而且你不可以單獨使用它們來識別值。
元組被用作鍵時,它的元素都意味着一起。 例如:{(<first_name>,<last_name>): <money_owed>}
爲什麼元組作爲鍵的元素不正確?
如:{('John','Well'):100, ('John','Mann'):200}
這裏first_name
s爲兩個約翰和我們使用一個元組唯一標識的關鍵。
你想要的是像list
作爲密鑰,並且你可能不會有list
作爲字典key
。
你可以做的是讓他們獨立的(具有相同的值不同的密鑰):
{11: 35, 22: 35, 44:12, 45:12}
你可以使用這個方法(你會得到的問題,如果你有鑰匙的重複元素,如果你有,你不應該在元組使用元素的重複,以確定值):
l=[]
for x in a:
for i in x:
l.append({i:a[x]})
有了這個,你得到這樣的輸出:[{11: 35}, {22: 35}, {44:12}, {45:12}]
然後,您可以將它作爲字典列表。
這是一個元組不是名單。元組是可散列的。 – Pythonista
@Pythonista更新回答。元組元素不能單獨用作鍵。 OP正試圖將列表作爲不允許的關鍵字。 –
@AniMenon我知道我應該使用完整的元組作爲關鍵。 – user504909
寫你贏得插入方法
def insert(key,value,dict):
for i in dict:
if key in i:
dict[i]=value
你也許可以寫自己的插入方法將通過密鑰s和我檢查11:字典[i] =更新值 –