使用词典的更新功能
我有一个关于内置的更新功能字典使用词典的更新功能
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