使用词典的更新功能

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

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

回答:

,如果我理解正确的你,这你为了需要具有价值的关键“1”的字典什么也是一本字典:

test_dict = {1: {45:"t"}, 2:{44:"tt"}} 

new_value = {1: {44: "pae"}}

update_value = {1:{44:"tt"} }

def add_to_dict(dict, new_value):

for key, value in new_value.items():

dict[key].update(value)

# print(new_value.keys())

def update_dict(dict,new_value):

dict.update(new_value)

if _name_ == '_main_':

add_to_dict(test_dict,new_value)

print(test_dict)

update_dict(test_dict,update_value)

print(test_dict)

它将打印:

# after you add a value to the dictionary inside the dictionary 

{1: {44: 'pae', 45: 't'}, 2: {44: 'tt'}}

# after you update the value

{1: {44: 'tt'}, 2: {44: 'tt'}}

以上是 使用词典的更新功能 的全部内容, 来源链接: utcz.com/qa/259881.html

回到顶部