我希望程序打印所有可能的组合

问题描述 投票:0回答:3

我希望Python中的程序能够打印数字或字符串字符的所有可能组合。

例如:

123
213
231
132
321
312

金额是!3,但我不知道如何处理。 我想过使用递归,但我不知道如何实现它。

python string integer combinations
3个回答
2
投票

itertools.permutations
可以为您做到这一点。

import itertools
for c in itertools.permutations('123'):
    print(''.join(c))

0
投票

我们假设

X="123"

我们想要找到所有可能的组合。

import itertools
for c in itertools.permutations(X) :
print(''.join(c)) 

-1
投票

如果您不想导入 itertools 库,您可以使用 GeeksForGeeks:

中的代码
def printCombination(arr, n, r):
    data = [0]*r;
    combinationUtil(arr, data, 0,
                    n - 1, 0, r);

def combinationUtil(arr, data, start,
                    end, index, r):
    if (index == r):
        for j in range(r):
            print(data[j], end = " ");
        print();
        return;

    i = start;
    while(i <= end and end - i + 1 >= r - index):
        data[index] = arr[i];
        combinationUtil(arr, data, i + 1,
                        end, index + 1, r);
        i += 1;

arr = [1, 2, 3, 4, 5];
r = 3;
n = len(arr);
printCombination(arr, n, r);

© www.soinside.com 2019 - 2024. All rights reserved.