Skip to main content
 首页 » 编程设计

Python 在 while 循环中合并字典

2025年05月04日16Leo_wl

我有一个返回字典的函数 part_func(x)。我想在另一个函数 main_func() 的一部分的 while 循环中运行该函数。

part_func(x) 的结果如下所示:

{'age': 80, 'name': 'peter'} 
{'age': 20, 'name': 'stefan'} 

我想从 main_func() 中得到一个像这样的字典:

{'age': [80, 20], 'name': ['peter', 'stefan']} 

下面的代码完成了这项工作:

dicts1 = dict1, dict2 
dicts2 = {k:[d.get(k) for d in dicts1] for k in {k for d in dicts1 for k in d}} 

我现在的问题是,如何将它实现到 main_func() 中?

def part_func(x): 
    # produces dicitionary 
 
def main_func(): 
    for x in range(10): 
       return part_func(x) # returns dictionary 

请您参考如下方法:

我宁愿使用这样的东西:

def main_func(): 
    final_d = {} 
    for _ in range(10): 
        for key, val in part_func().items(): 
            final_d.setdefault(key, []).append(val) 
    return final_d