我想找到列表中元素的所有排列。 但随后施加了一些条件..嗯.. 可能一个例子可以帮助我更好地解释。
我有四个清单
["1"],["0"],["a","b","c],["d","e","f"]
现在我希望以下列方式获得排列:
"10ad" ,"10bd","10cd","10ae", "10be"
,"10bf"..
依旧......
所以基本上每个元素(每个元素都有)? 现在我知道了这种非常天真的方式。 但是这样做的pythonic方法是什么? 如果有的话? 任何建议
由于
答案 0 :(得分:4)
我认为你想使用itertools
模块,它是标准Python发行版的一部分。
例如:
import itertools
a = ["1"]
b = ["0"]
c = ["a","b","c"]
d = ["d","e","f"]
for item in itertools.product(a, b, c, d):
print(item)
编辑:要清楚,itertools.product
功能为输入列表中的所有项目提供所有组合,而不是排列。但根据OP的措辞,我认为这是他/她实际想要的。