Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中更新多值字典_Python_Dictionary_Tuples_Immutability_Multivalue - Fatal编程技术网

在python中更新多值字典

在python中更新多值字典,python,dictionary,tuples,immutability,multivalue,Python,Dictionary,Tuples,Immutability,Multivalue,我正在尝试更新二维字典中的一个特定值,其中每组键都包含多个值。我的脚本大致如下: #!/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] 三, TypeError:“tuple”对象不支持

我正在尝试更新二维字典中的一个特定值,其中每组键都包含多个值。我的脚本大致如下:

#!/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]
三,

TypeError:“tuple”对象不支持项分配


这里出了什么问题?我应该如何更新多值字典中的特定值?我的实际键值列表比这个示例长得多,因此更新整个键值实际上不是一个实用的选项…

您出现错误是因为您试图修改元组:

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

出现错误是因为您试图修改元组:

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

出现错误是因为您试图修改元组:

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

出现错误是因为您试图修改元组:

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


无法修改元组-不可变。请使用列表而不是元组:
mydic[mylist[0]][mylist[1]=[mylist[2],mylist[3]]
Thanx以获得快速回复@hagubear我意识到元组是不可变的,我只是不明白为什么这个值被视为元组。。?如果我尝试运行>mydic[mylist[0]][mylist[1]][0]。更新(4)我会得到>>>属性错误:“int”对象没有属性“update”。所以现在它突然变成了一个整数。@jornsharpe Thanx,我将尝试使用列表设置。@user3595396在使用update(4)方法之前,您始终可以计算得到的类型。此外,列表没有任何更新方法。但它具有附加和删除功能。:)。请尝试阅读有关list、tutple、set和dict的python文档,以了解哪些方法可供您使用。元组不能修改-不可变。请使用列表而不是元组:
mydic[mylist[0]][mylist[1]=[mylist[2],mylist[3]
Thanx以获得快速回复@hagubear我意识到元组是不可变的,我只是不明白为什么这个值被视为元组。。?如果我尝试运行>mydic[mylist[0]][mylist[1]][0]。更新(4)我会得到>>>属性错误:“int”对象没有属性“update”。所以现在它突然变成了一个整数。@jornsharpe Thanx,我将尝试使用列表设置。@user3595396在使用update(4)方法之前,您始终可以计算得到的类型。此外,列表没有任何更新方法。但它具有附加和删除功能。:)。请尝试阅读有关list、tutple、set和dict的python文档,以了解哪些方法可供您使用。元组不能修改-不可变。请使用列表而不是元组:
mydic[mylist[0]][mylist[1]=[mylist[2],mylist[3]
Thanx以获得快速回复@hagubear我意识到元组是不可变的,我只是不明白为什么这个值被视为元组。。?如果我尝试运行>mydic[mylist[0]][mylist[1]][0]。更新(4)我会得到>>>属性错误:“int”对象没有属性“update”。所以现在它突然变成了一个整数。@jornsharpe Thanx,我将尝试使用列表设置。@user3595396在使用update(4)方法之前,您始终可以计算得到的类型。此外,列表没有任何更新方法。但它具有附加和删除功能。:)。请尝试阅读有关list、tutple、set和dict的python文档,以了解哪些方法可供您使用。元组不能修改-不可变。请使用列表而不是元组:
mydic[mylist[0]][mylist[1]=[mylist[2],mylist[3]
Thanx以获得快速回复@hagubear我意识到元组是不可变的,我只是不明白为什么这个值被视为元组。。?如果我尝试运行>mydic[mylist[0]][mylist[1]][0]。更新(4)我会得到>>>属性错误:“int”对象没有属性“update”。所以现在它突然变成了一个整数。@jornsharpe Thanx,我将尝试使用列表设置。@user3595396在使用update(4)方法之前,您始终可以计算得到的类型。此外,列表没有任何更新方法。但它具有附加和删除功能。:)。请尝试阅读有关list、tutple、set和dict的python文档,以了解哪些方法适合您使用。现在开始工作了。弗雷德坦蒂尼,这里有很多很棒的东西。现在开始工作了。弗雷德坦蒂尼,这里有很多很棒的东西。现在开始工作了。弗雷德坦蒂尼,这里有很多很棒的东西。现在开始工作了。好东西