python中2个dict的组合

python中2个dict的组合,python,python-2.7,itertools,Python,Python 2.7,Itertools,大家好。我有两条格言,比如: dict_in = { 'a1': {'b': [1, 2], 'c': [4, 5]}, 'a2': {'b': [6, 7], 'c': [8, 10]} } 我希望得到所有可能的不重复组合的输出,如: res_dict = [ {'a1': {b: 1, c: 4}, 'a2': {'b': 6, 'c': 8}}, {'a1': {b: 2, c: 4}, 'a2': {'b': 6, 'c': 8}}, {'a1

大家好。我有两条格言,比如:

dict_in = {
    'a1': {'b': [1, 2], 'c': [4, 5]}, 
    'a2': {'b': [6, 7], 'c': [8, 10]}
}
我希望得到所有可能的不重复组合的输出,如:

res_dict = [   
   {'a1': {b: 1, c: 4}, 'a2': {'b': 6, 'c': 8}},
   {'a1': {b: 2, c: 4}, 'a2': {'b': 6, 'c': 8}},
   {'a1': {b: 1, c: 5}, 'a2': {'b': 6, 'c':8}},
   {'a1': {b: 1, c: 5}, 'a2': {'b': 6, 'c':8}},
   {'a1': {b: 2, c: 5}, 'a2': {'b': 6, 'c':8}},
   {'a1': {b: 1, c: 4}, 'a2': {'b': 7, 'c':8}},
   {'a1': {b: 1, c: 4}, 'a2': {'b': 7, 'c':10}},
   ....

有什么建议吗

所以,我找到了解决方案:

import itertools as it

dict_comb = {i : itertools.product(*dict_in[i].values()) for i in dict_in.keys()}
keys = dict_comb.keys()
final_dict = itertools.product(* [ dict_comb[key] for key in keys])
(1) 不要命名变量
dict
,它是内置类型名。(2) 编写一些代码并试用。:)在这里似乎很有用。你的问题的输出。