• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

使用词典的更新功能

python 来源:Luke 6次浏览

我有一个关于内置的更新功能字典使用词典的更新功能

mydict = {1: {45:'ades'}, 2: {68:'gdes'}} 
addthis = {1: {44:'paes'}} 
changethis = {1: {45 : 'qwes'} 
mydict.update(new) 
mydict.update(changethis) 
>>>mydict 
{1: {45: 'qwes'}, {44: 'paes}, 2:{68: 'gdes'}} 

我所熟悉的事实,更新替换掉键,它是连接到它,如果它已经存在价值的问题。然而,我想知道如何在不删除我的原始密钥1的情况下追加addthis,然后用changethis更新替换原始密钥1.任何帮助将不胜感激!


===========解决方案如下:


从评论中可以看出您想要一个列表。要做到这一点,你的地图的每个值都需要是一个列表,而不是一个单独的字典。

mydict = {1: [{45:'ades'}], 2: [{68:'gdes'}]} 

然后,当你添加的东西mydict,你需要索引到字典和更新:

addthis = {44:'paes'} 
mydict[1].append(addthis) 

>>>mydict 
{1: [{45: 'ades'}, {44: 'paes'}], 2: [{68: 'gdes'}]} 

而要改变的东西mydict,你将需要遍历的项目列表和相应的更新:

for el in mydict[1]: 
    if 45 in el.keys(): 
     el[45] = 'qwes' 
     break 

这将导致:

>>>mydict 
{1: [{45: 'qwes'}, {44: 'paes'}], 2: [{68: 'gdes'}]} 


进一步澄清后,似乎你想要词典的词典:

mydict = {1: {45: 'ades'}, 2: {68: 'gdes'}} 

要在字典中的一个元素添加到1

mydict[1][44] = 'paes' 
>>>mydict 
{1: [{44: 'paes', 45: 'ades'}], 2: [{68: 'gdes'}]} 

您可以访问处的值使用:

mydict[1][44] 

要在45修改值:

mydict[1][45] = 'qwes' 
>>>mydict 
{1: {44: 'paes', 45: 'qwes'}, 2: {68: 'gdes'}} 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)