Python标准库itertools已经具有您要实现的功能。您也可以在代码中使用它(有趣)。
itertools.combinations(a,3)
返回a的所有3个组合。要将其转换为“列表列表”,应使用.extend()
以下方法;
x = ['a','b','c','d','e']
n = 3
import itertools
permutations = []
combinations = []
combinations.extend(itertools.combinations(x,n))
permutations.extend(itertools.permutations(x,n))
print("Permutations;", permutations)
print("\n")
print("Combinations;", combinations)
另外,建议您搜索“ 组合,排列差异 ”。从您的问题中我了解到;排列就是您想要的。(如果运行我共享的代码,您将容易理解两者之间的区别。)