给定几个字母,求全部排列组合。
list_ = ["a", "b", "c", "d","e"]
# 最大组合数
class solution():
def fun(self, list_, current=""):
if len(list_) > 1:// 如果只剩下一个字母,就递归结束
for i in range(len(list_))://如果不止一个字母,就循环调用函数
temp = list_.copy()//拷贝当前的循环的列表,防止下一步的pop操作影响到循环
lastresult = current + temp.pop(i)//保留已运行出的结果
self.fun(temp, lastresult)//递归调用本函数
else:
print(current + list_[0])//输出结果
if __name__ == '__main__':
myclass = solution()
myclass.fun(list_)