在Python中向现有字典键添加值

2024-09-29 01:19:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将字典值附加到已经存在的JSON文件中。我怎么能做到呢?你知道吗

我的详细信息.json文件

{"name": "someName"}

由python脚本生成的字典

list1 = {"name": "someOthername"}

with open("details.json") as r:
    data = json.load(r)
    desirableDict = data.append(list1) # It has to be something like this
    print(desirableDict)

理想输出:{“name”:[“someName”,“someOthername”]}


Tags: 文件name脚本jsondata字典with详细信息
2条回答

您可以检查for循环中的所有键,并将json文件和list1的值放入如下列表中:

import json

list1 = {"name": "someOthername"}

with open("details.json") as file:

    data = json.load(file)
    desirableDict = data.copy()

    for key in data:
        if key in list1:

            if type(data[key]) is list:
                data[key].append(list1[key])
            else:
                desirableDict[key] = [data[key],list1[key]]

print(desirableDict)

似乎你需要结构的深度融合。我想推荐你使用这个很棒的库https://pypi.org/project/deepmerge/。你知道吗

有很多你想实现的例子。你知道吗

from deepmerge import always_merger

base = {"foo": ["bar"]}
next = {"foo": ["baz"]}

expected_result = {'foo': ['bar', 'baz']}
result = always_merger.merge(base, next)

assert expected_result == result

相关问题 更多 >