您的位置:首页 > 编程语言 > Python开发

Python 字符串和数字的排列组合,无重复

2019-08-07 16:54 239 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/qq_42778535/article/details/98761235

字符串的排列组合

def perms(s=''):
if len(s)<=1: #长度为1的字符串,排列组合就是自己
return [s]
sl=[] #放结果
for i in range(len(s)): #第一个数的可能取值
for j in perms(s[0:i]+s[i+1:]): #排除第一个数
sl.append(s[i]+j)
return (list(set(sl)))

perm_nums = perms('abbdfg')
print('no_repeat_nums',len(perm_nums),perm_nums)

有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

def perm(s=""):
if len(s)<=1:
return [s]
else:
s1=[]
for i in range(len(s)):
for j in perm(s[0:i]+s[i+1:]):
s1.append(s[i]+j[:2])
return (list(set(s1)))

perm_num=perm("1234")
m=list(map(int,perm_num)) #map函数把list中的字符串转化成int
print(len(perm_num),m)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: