python全排列
原理如图:
可以抽象为一颗树
代码:
def fun(string,f='',num=0,li=[]): if len(string)==1: li.append(f+string) else: for i in range(len(string)): h= f+string[i] w=string[0:i]+string[i+1:len(string)] fun(w,f=h,num=num+1,li=li) return li print(fun("123"))
>>>:
['123', '132', '213', '231', '312', '321']