【Python实现排序组合】

本文介绍了如何使用Python的itertools库来实现排列和组合。通过`combinations`和`permutations`函数,可以方便地从给定元素中获取组合和排序的结果。文中还提供了一个名为`itertoolsTest`的类,用于封装这两种操作,并展示了如何从6个数中取5个进行排序,计算出总共有720种排列方式。
摘要由CSDN通过智能技术生成

Python算法题,实现排列组合

遇到一个算法题,从列表a = [1,2,3,4,5,6]中任意抽取5个数,进行排序。共有多少结果。乍一看,这不是高中数的排序组合吗。再一看,就是排列组合。。。。

用到的库

    import   itertools
    开始折腾半天,去处理列表啊,随机抽取啊,随机排序啊,for了好几层循环,最终还是没搞出来。后来随便一搜发现,自带了一个本地库itertools,用于排列组合。所以,有些日常的功能实现先去看有没有已经封装好的库。只是失去算法题的意义罢了

combinations 组合

	![组合的公式](https://img-blog.csdnimg.cn/e32e546bb6ef4fa9acaf97ba433c8039.png)
	print(list(itertools.combinations([1, 2, 3, 4,5,6], 5)))
	
	执行结果:
	[(1, 2, 3, 4, 5), (1, 2, 3, 4, 6), (1, 2, 3, 5, 6), (1, 2, 4, 5, 6), (1, 3, 4, 5, 6), (2, 3, 4, 5, 6)]

permutations 排列

			print(list(itertools.permutations([1, 2, 3, 4,5,6], 5)))
	
	执行结果:
	[(1, 2, 3, 4, 5), (1, 2, 3, 4, 6), (1, 2, 3, 5, 4), (1, 2, 3, 5, 6), (1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值