Python 生成所有可能的排列,然后组合所有可能的结果?
例如(在python中): 将给我们:Python 生成所有可能的排列,然后组合所有可能的结果?,python,string,algorithm,combinations,permutation,Python,String,Algorithm,Combinations,Permutation,例如(在python中): 将给我们: [(1, 2), (2, 1)] 但我的目标是我需要所有可能的排列(或组合?),以-xx-xx-的形式。 它需要包含a-z和0-9中所有可能的字符。 在这种情况下,如下所示,例如: -aa-01- -az-33- -b6-k0- -z9-5x- -aa-aa- (允许重复)等,直到用尽所有可能的组合 我知道这会导致大量的可能结果,我认为-xx-xx-1679616是可能的结果 我的问题是,我如何才能最有效地进行这项工作?我不知道从哪里开始,而且我已经能
[(1, 2), (2, 1)]
但我的目标是我需要所有可能的排列(或组合?),以-xx-xx-的形式。
它需要包含a-z和0-9中所有可能的字符。
在这种情况下,如下所示,例如:
-aa-01-
-az-33-
-b6-k0-
-z9-5x-
-aa-aa-
(允许重复)等,直到用尽所有可能的组合
我知道这会导致大量的可能结果,我认为-xx-xx-1679616是可能的结果
我的问题是,我如何才能最有效地进行这项工作?我不知道从哪里开始,而且我已经能够使用itertools生成一些东西。我不知道如何将每个组合映射到下一个组合,直到它们全部完成。,使用重复参数可能对您有用
下面是一个小例子:
import itertools
for x in itertools.product('abc', repeat=4):
print x
这将打印出:
('a', 'a', 'a', 'a')
('a', 'a', 'a', 'b')
('a', 'a', 'a', 'c')
('a', 'a', 'b', 'a')
('a', 'a', 'b', 'b')
('a', 'a', 'b', 'c')
... clip ....
我将把实际的解决办法留给你
('a', 'a', 'a', 'a')
('a', 'a', 'a', 'b')
('a', 'a', 'a', 'c')
('a', 'a', 'b', 'a')
('a', 'a', 'b', 'b')
('a', 'a', 'b', 'c')
... clip ....