如何在不替换以前的值的情况下向现有字典键添加值?

2024-09-25 00:36:39 发布

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

所以我有一个字典,我将它称为(a),我运行一个循环,根据每个字典的特定标记,在(a)的键中对其他几个字典进行排序,但这是不相关的。问题是,每次循环运行时,字典都会更新,以前的值会被新值替换。我想要的是,我希望循环继续向(a)添加值,如果它找到任何新值,而不是替换原始值。 我试过了:

          dictionary[i] = smalldict

其中i是所需的键,smalldict是一个较小的字典,我用for循环遍历它。每当这行代码运行时,smalldict的前一个值将被新值替换。如何使它在不删除旧值的情况下将新找到的值“附加”到字典的键上?在

tl/dr: 如何使词典保持原值并加入新值?在

谢谢!在


Tags: 标记fordictionary字典排序情况词典tl
1条回答
网友
1楼 · 发布于 2024-09-25 00:36:39

从你的描述中很难确定你想做什么,因为你没有发布一个期望的结果,但是我想这是你想要做的。。。在

a = {}
b = dict(a=1, b=2, c=3)
c = dict(b=9,c=10, d=99)

def append_items_to_dict(d_in: dict, d_out: dict):
    for k, v in d_in.items():
        d_out.setdefault(k, []).append(v)

append_items_to_dict(b, a)
append_items_to_dict(c, a)
print(a)

结果

^{pr2}$

相关问题 更多 >