2011-10-04 78 views
0

我看了一下itertools.permutations和组合,但我认为他们不会为我的问题工作。向itertools添加额外的状态。产品

基本上,我正在寻找创建一个给定字符串的所有可能排列的列表与定义的长度(大于元素的数量)。

基本上,我想有三种可能的状态,0,1或不关心[0,1,'*']。

我希望做一些事情,如:

s = list(itertools.product(('0','1','*'), repeat=8)) 

然而,产品似乎并不喜欢它的第一个参数超过2个参数。

如果我试图扩大排列或组合(即大于组合的数量),我最终返回一个空数组。

+3

我不确定'您的产品在第一个参数中似乎不会超过2个参数。'您发布的代码对我来说工作正常,返回八个元组元组。 – agf

+0

您发布的代码也适用于Python 2.7。 –

+0

有趣的是,我无法在本地工作,然后我很好地格式化它张贴在这里......我显然摆脱了我的错字。多谢你们。 – espais

回答

0

工作对我来说:

>>> import itertools 
>>> s = list(itertools.product(('0','1','*'), repeat=8)) 
>>> len(s) 
6561 

看到它联机工作:ideone