【发布时间】:2013-06-05 20:57:22
【问题描述】:
我有一个返回字典的函数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
【问题讨论】:
-
首先,只需使用
for x in range(10)并去掉x=0和x+=1。其次,如果你每次循环都去return part_func(x),那么无论如何你只会循环一次,所以……你到底想在这里做什么?
标签: python function dictionary