我有以下字典-
Diction = {'stars': {(4, 3): (2, 3, 100, 0), (3, 4): (3, 2)}}
我正在嘗試更新如下值:-
list(Diction['stars'][(4,3)])[-1] = 8765 #converting to list as tuples are immutable
之后我列印驗證,但值沒有改變,也沒有顯示任何錯誤。
print(list(Diction['stars'][(4,3)]))
誰能讓我知道如何在此處更新值?
uj5u.com熱心網友回復:
正如您自己指出的那樣,元組是不可變的。您不能更改它們的內容。
當然,您總是可以使用更新的值創建一個新的元組,并用這個替換舊的元組。
就像是
Diction = {'stars': {(4, 3): (2, 3, 100, 0), (3, 4): (3, 2)}}
temp = list(Diction['stars'][(4,3)])
temp[-1] = 8765
Diction['stars'][(4,3)] = tuple(temp) # convert back to a tuple
uj5u.com熱心網友回復:
當您將元組轉換為串列時,您實際上是復制了元組。如果您仍然希望擁有相同的功能并將專案保留為元組而不是串列,則可以執行以下操作:
Diction = {'stars': {(4, 3): (2, 3, 100, 0), (3, 4): (3, 2)}}
my_item = list(Diction["stars"][4, 3])
my_item[-1] = 8765
Diction['stars'][4, 3] = tuple(my_item)
在這里,我們首先制作副本,對其進行更改,然后將值作為元組添加回原始值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/456148.html
上一篇:無法從JSON文本中提取必填欄位
