python3实现字符串的全排列的方法(无重复字符)两种解决方法
抛出问题
求任意一个字符串的全排列组合,例如a=‘123’,输出 123,132,213,231,312,321。(暂时假定字符串没有重复)
解决方案
目前有两种解决的方法
方法一:
def str_sort(s=''): if len(s) <= 1: return [s] str_list = [] for i in range(len(s)): for j in str_sort(s[0:i] + s[i + 1:]): str_list.append(s[i] + j) return str_list str_list = str_sort('abc') print(len(str_list), str_list) 这种理解起来非常好理解,就是循环遍历每个字符,让每个字符打头,然后继续递归遍历后边的字符