我有以下python字典:
{main1: {x: 1, y: 2}, main2: {a: 1, b: 2}}
我需要的结果是所有可能的组合,比如:
{main1: {x: 1}}
{main1: {y: 2}}
{main1: {x: 1, y:2}}
{main2: {a: 1}}
{main1: {x: 1}, main2: {a: 1}}
{main1: {y: 2}, main2: {a: 1}}
{main1: {x: 1, y:2}, main2: {a: 1}}
...
等。我觉得有一些蟒蛇的解决方案,但我找不到。什么好主意吗?
itertools.combinations()
可能对你有帮助。你可以把它叫做,在基本循环中得到大小为1 2等的组合。
试试这个:
import itertools
[zip(x,main2) for x in itertools.combinations(main1,len(main2))]