Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 生成所有可能的排列,然后组合所有可能的结果?_Python_String_Algorithm_Combinations_Permutation - Fatal编程技术网

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是可能的结果 我的问题是,我如何才能最有效地进行这项工作?我不知道从哪里开始,而且我已经能

例如(在python中):

将给我们:

[(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 ....