簡體   English   中英

在python中更新多值字典

[英]update multi value dictionary in python

我正在嘗試更新二維字典中的特定值,其中每組鍵都包含多個值。 我的腳本大致遵循以下原則:

#!/usr/bin/python
mylist=['a', 2, 3, 4]
mydic = {}
mydic[mylist[0]] = mydic.get(mylist[0], {})
mydic[mylist[0]][mylist[1]] = mylist[2], mylist[3]
print mydic[mylist[0]][mylist[1]][0]

3

mydic[mylist[0]][mylist[1]][0] += 1

TypeError:“元組”對象不支持項目分配

這里出了什么問題,我應該如何更新多值字典中的特定值? 我實際的鍵值列表比此示例長得多,因此更新整個鍵實際上不是一個可行的選擇...

由於嘗試修改元組而收到錯誤:

>>> a=(2,4)
>>> a[0]+=1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

正如jonrsharpe的注釋所建議的那樣,如果您只想修改一些值,請使用列表而不是元組:

>>> mydic[mylist[0]][mylist[1]] = [mylist[2], mylist[3]]
>>> print mydic[mylist[0]][mylist[1]]
[3, 4]
>>> mydic[mylist[0]][mylist[1]][0] += 1
>>> print mydic[mylist[0]][mylist[1]]
[4, 4]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM