我有
l = [["a", "b", "c"], ["1", "2", "3"], ["x", "y", "z"]]
如何获得所有元素组合的列表?
combine(l)
应该返回
["a1x", "a2x", "a3x", "b1x", "b2x", "b3x", "c1x", "c2x", "c3x",
"a1y", "a2y", "a3y", "b1y", "b2y", "b3y", "c1y", "c2y", "c3y",
"a1z", "a2z", "a3z", "b1z", "b2z", "b3z", "c1z", "c2z", "c3z"]
答案 0 :(得分:1)
您想要的这种组合在Python中可用作itertools.product
函数。你只需要对其输出进行后期处理
将每个元组作为字符串加入:
import itertools
l = [["a", "b", "c"], ["1", "2", "3"], ["x", "y", "z"]]
combined = ["".join(combination) for combination in itertools.product(*l)]
print(combined)
结果:
['a1x', 'a1y', 'a1z', 'a2x', 'a2y', 'a2z', 'a3x', 'a3y', 'a3z', 'b1x', 'b1y', 'b1z', 'b2x', 'b2y', 'b2z', 'b3x', 'b3y', 'b3z', 'c1x', 'c1y', 'c1z', 'c2x', 'c2y', 'c2z', 'c3x', 'c3y', 'c3z']