我想要得到的笛卡尔积a
, b
, c
, d
:
a = ['a1']
b = ['b1', 'b2']
c = ['c1', 'c2', 'c3']
d = ['d1']
这是 Ruby 代码:
e = [b, c, d]
print a.product(*e)
输出是:
[
["a1", "b1", "c1", "d1"],
["a1", "b1", "c2", "d1"],
["a1", "b1", "c3", "d1"],
["a1", "b2", "c1", "d1"],
["a1", "b2", "c2", "d1"],
["a1", "b2", "c3", "d1"]
]
有没有类似的包或功能可以在 Golang 中做产品?
这只是简化版本,实际上,输入数据类似于 [['a1'], ['b1','b2'], ['c1','c2','c3],['d1'], ['e1',...],...]。