簡體   English   中英

將值添加到 Python 中的現有字典鍵

[英]Add values to an existing dictionary key in Python

我需要將字典值附加到已經存在的 JSON 文件中。 我怎么能做到這一點?

我的 details.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"]}

看起來您需要深度合並結構。 我想推薦你使用這個很棒的庫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

您可以檢查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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM