1

part_func(x)辞書を返す関数があります。別の関数の一部である while ループで関数を実行したいmain_func()

の結果は次の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
4

2 に答える 2

4

私はむしろこのようなものを使いたい:

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
于 2013-06-05T21:02:13.880 に答える