我有一个返回字典的函数 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
