Python:输入一个字符串,返回一个由这些字符组成的排列组合(递归思想)【杭州多测师】【杭州多测师_王sir】
def test(s=""): """输入一个字符串,返回一个由这些字符组成的排列组合(递归思想)""" if len(s) <= 1: return [s] else: list1 = [] for i in range(len(s)): for j in test(s[:i] + s[i + 1:]): list1.append(s[i] + j) return list1 if __name__ == "__main__": s = 'abcd' list1 = test(s) print("排列组合数:%d" % len(list1)) print("排列组合数明细:%s" % str(list1))
import itertools mylist = list(itertools.permutations(['A','B','C','D'],4)) # 全排列 print(mylist) mylist1 = list(itertools.permutations(['A','B','C','D'],3)) # 4个里面选3个排列 print(mylist1) #5!=1*2*3*4*5 #0!=1 #M个选N个 M!/(M-N)! #4 1 4!/3!=4 #4 2 4!/2!=3*4=12 #4 3 4!/1!=24
import itertools mylist = list(itertools.combinations(['A','B','C','D'],4)) # 组合 print(mylist) mylist1 = list(itertools.combinations(['A','B','C','D'],3)) # 4个里面选3个组合 print(mylist1) #['A','B','C','D'],3) 4个取3个,无序 #M!/N!(M-N)!
import itertools # product 可以重复的排序 # mylist1 = list(itertools.product("0123456789",repeat=4)) 参数表示可以重复的从前面的0到9里面取出4个数字来 # print(mylist1) mylist=(["".join(x) for x in itertools.product("0123456789",repeat=4) ]) print(mylist) print(len(mylist))
import itertools # product 可以重复的排序 mylist=("".join(x) for x in itertools.product("0123456789",repeat=4)) print(next(mylist)) print(next(mylist)) print(next(mylist)) print(next(mylist))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2020-07-27 读取Excel中的视频文件地址+requests库下载后存入本地文件夹【多测师_王sir】