Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在嵌套字典中追加值_Python_Dictionary_Append - Fatal编程技术网

Python 如何在嵌套字典中追加值

Python 如何在嵌套字典中追加值,python,dictionary,append,Python,Dictionary,Append,如何循环使用int:dict作为键:值对和 将一个新词典(例如token1中的{5:freq5}和token3中的{1:freq11}追加到其现有的辅助词典中 dictnry={token1:{1:freq1,2:freq1a}, ,token2:{1:freq2,2:freq2a,3:freq2b} ,token3:{3:freq4}} 您可以简单地在字典上循环,一旦该键等于要在其值中附加一些dict的键,然后按照以下方式执行 例子 或 输出 您可以为要添加的

如何循环使用int:dict作为键:值对和 将一个新词典(例如
token1
中的
{5:freq5}
token3
中的
{1:freq11}
追加到其现有的辅助词典中

dictnry={token1:{1:freq1,2:freq1a},
        ,token2:{1:freq2,2:freq2a,3:freq2b}
        ,token3:{3:freq4}}

您可以简单地在字典上循环,一旦该键等于要在其值中附加一些dict的键,然后按照以下方式执行

例子 或 输出
您可以为要添加的内容创建另一个字典:

{'token1': {1: 'freq1', 2: 'freq1a', 5: 'freq5'},
 'token2': {1: 'freq2', 2: 'freq2a', 3: 'freq2b'},
 'token3': {1: 'freq11', 3: 'freq4'}}
输出:

import json

d = {
    "token1": {
        1: "freq1",
        2: "freq1a",
    },
    "token2": {
        1: "freq2",
        2: "freq2a",
        3: "freq2b",
    },
    "token3": {
        3: "freq4",
    }
}

print("Before:")
print(json.dumps(d, indent=4))

key_entry_to_add = {
    "token1": {
        5: "freq5",
    },
    "token3": {
        1: "freq11",
    }
}

for key, entry in key_entry_to_add.items():
    entry_key, entry_val = next(iter(entry.items()))
    d[key][entry_key] = entry_val

print("After:")
print(json.dumps(d, indent=4, sort_keys=True))

我不知道你的问题是什么;假设你有
outer_dict={'internal_dict1':{'value1':“x1”}
如果你想添加新的dict,你可以这样做:
outer_dict[“internal_dict2”]={…}
如果你想更新internal dict中的值,那么你可以做
outer_dict[“internal_dict1”][“value1”]=“new_value”
;要创建内部dict的新键,您正在执行相同的
outer_dict[“internal_dict 1”][“value2”]=“new_value”
看起来您已经编写了一些伪代码,但尚未尝试实现它。你的问题(
我该怎么做
)太宽泛了:不清楚你对伪代码的哪一部分有问题。欢迎来到SO。这不是一个讨论论坛或教程。请花点时间阅读和阅读该页面上的其他链接。花些时间练习这些例子。它将让您了解Python提供的帮助您解决问题的工具。
dictionary['token1'][5] = 'freq5'
dictionary['token3'][1] = 'freq11'
{'token1': {1: 'freq1', 2: 'freq1a', 5: 'freq5'},
 'token2': {1: 'freq2', 2: 'freq2a', 3: 'freq2b'},
 'token3': {1: 'freq11', 3: 'freq4'}}
import json

d = {
    "token1": {
        1: "freq1",
        2: "freq1a",
    },
    "token2": {
        1: "freq2",
        2: "freq2a",
        3: "freq2b",
    },
    "token3": {
        3: "freq4",
    }
}

print("Before:")
print(json.dumps(d, indent=4))

key_entry_to_add = {
    "token1": {
        5: "freq5",
    },
    "token3": {
        1: "freq11",
    }
}

for key, entry in key_entry_to_add.items():
    entry_key, entry_val = next(iter(entry.items()))
    d[key][entry_key] = entry_val

print("After:")
print(json.dumps(d, indent=4, sort_keys=True))
Before:
{
    "token1": {
        "1": "freq1",
        "2": "freq1a"
    },
    "token2": {
        "1": "freq2",
        "2": "freq2a",
        "3": "freq2b"
    },
    "token3": {
        "3": "freq4"
    }
}
After:
{
    "token1": {
        "1": "freq1",
        "2": "freq1a",
        "5": "freq5"
    },
    "token2": {
        "1": "freq2",
        "2": "freq2a",
        "3": "freq2b"
    },
    "token3": {
        "1": "freq11",
        "3": "freq4"
    }
}