繁体   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