[英]combinations of 2 dict in python
大家好 我有2个字典,例如:
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])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.