列表python的排列

时间:2012-04-06 02:55:32

标签: python

  

可能重复:
  How to generate all permutations of a list in Python

我想找到列表中元素的所有排列。 但随后施加了一些条件..嗯.. 可能一个例子可以帮助我更好地解释。

我有四个清单

["1"],["0"],["a","b","c],["d","e","f"]

现在我希望以下列方式获得排列:

 "10ad" ,"10bd","10cd","10ae", "10be"
 ,"10bf"..

依旧......

所以基本上每个元素(每个元素都有)? 现在我知道了这种非常天真的方式。 但是这样做的pythonic方法是什么? 如果有的话? 任何建议

由于

1 个答案:

答案 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的措辞,我认为这是他/她实际想要的。