gpt4 book ai didi

python-3.x - 合并字典和计数器对象

转载 作者:行者123 更新时间:2023-12-04 01:30:15 25 4
gpt4 key购买 nike

Bellow 是我尝试将 Dictionary 与具有默认零值的类别合并的代码,Counter 对象具有两个或多个具有 Dictionary 类别的字典,但是,并非所有都存在于其中。结果将给出一个包含两个或更多字典的列表,具体取决于 Counter 对象中字典的数量。如果字典键等于第一个计数器对象字典键,则值将被替换,依此类推。

Result = []
for data in CounterList:
for kd, vd in Dictionary:

for kc, vc in data.items():
if kd == kc:
Dictionary.update({key: valueIn})

Result.append(Dictionary)
print("Result", Result)

计数器列表:

[计数器({'A':10,'B':15,'C':5,'E':8}),计数器({'A':15,'D':5 , 'F': 20,'G': 20})]

字典:

{'A':0,'B':0,'C':0,'D':0,'E':0,'F':0,'G':0}

结果:

[{'A':10,'B':15,'C':5,'D':0,'E':8,'F':0,'G':0} ,{'A':15,'B':0,'C':0,'D':5,'E':0,'F':20,'G':20}]

最佳答案

你可以在你的反对象上使用一个循环,并对你的模板结果进行一些深度复制:

from collections import Counter
import copy

counts = [Counter({'A': 10, 'B': 15, 'C': 5,'E': 8}),
Counter({'A': 15, 'D': 5, 'F': 20,'G': 20})]

d_template = {'A':0,'B':0,'C':0,'D':0,'E':0,'F':0,'G':0}

result = []

for c in counts:
# deep copy your template
result.append(copy.deepcopy(d_template))
# and update it to the current counter data
result[-1].update(c)


print(result)

输出:

[{'A': 10, 'B': 15, 'C': 5, 'D': 0, 'E': 8, 'F': 0,  'G': 0}, 
{'A': 15, 'B': 0, 'C': 0, 'D': 5, 'E': 0, 'F': 20, 'G': 20}]

关于python-3.x - 合并字典和计数器对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61168036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com