python 排列组合函数_python排列组合
前言
在程序设计的过程中,全排列是比较经常遇到的一类问题,有时候自己写还是有点麻烦,也比较浪费时间。在这里我介绍一种python中的全排列函数——itertools.permutations。更重要的是itertools是一个标准库,不需要额外安装只要import即可,要知道正式比赛中是不允许使用第三方库的。
正文
我们先看下函数的语法格式和参数:
itertools.permutations(iterable[, r])
r 指定生成排列的元素的长度,如果不指定,则默认为迭代对象的元素长度。
示例:
>>> list(itertools.permutations([1,2,3],2))
[(1, 2), (1, 3), (2, 1), (2, 3), (3, 1), (3, 2)]>>> list(itertools.permutations([1,2,3],3))
[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]
下面是我在洛谷上用该方法解决的一道题:
题目描述
将1,2,⋯ ,9共9个数分成3组,分别组成3个三位数,且使这3个三位数构成1:2:3的比例,试求出所有满足条件的3个三位数。
输入格式
木有输入
输出格式
若干行,每行3个数字。按照每行第1个数字升序排列。
importitertools
nums= [1,2,3,4,5,6,7,8,9]for num in itertools.permutations(nums, 9):
a= 100*num[0] + 10*num[1] + num[2]
b= 100*num[3] + 10*num[4] + num[5]
c= 100*num[6] + 10*num[7] + num[8]if b == 2*a and c == 3*a:print(a, b, c)
该段函数输出如下:
192 384 576
219 438 657
273 546 819
327 654 981
可以看到这些数字都是有序的,正好符合题目的要求。但是要注意的是在排列前迭代对象必须有序,否则不会有序输出。
下面介绍python中的组合函数——combinations(),同样也是itertools库中的函数,用法也和permutations()一样,这里就不再赘述了,只要搞懂了排列函数,组合函数也就懂了。
python 排列组合函数_python排列组合相关推荐
- python 排列组合函数_Python概率统计(1):排列组合
〇.写在前面 最近面试了很多数据分析师的候选人,包括很多背景相当不错的同学,但是都不是特别满意. 为什么呢?其实说来很简单,我们这边对于经验较少的分析师,尤其是刚毕业或者校招的同学,会着重考察统计基础 ...
- python中factor函数_Python入门-函数
函数 在维基百科上函数式这样描述的: 函数在数学中为两集合间的一种对应关系:输入值集合中的每项元素皆能对应唯一一项输出值集合中的元素. 此处的函数区别于我们数学上的函数,在编程世界中,函数(Funct ...
- python反序数函数_python反序函数
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 是一个对象并且返回反序排序的列表功能(9)enumerate() 返回的是一个对 ...
- python的高级函数_Python的高级函数
Python的高级函数 1. map函数 map(func, *itertables) 对itertables中的每个元素使用func,当最短的itertable结束时便停止.map可以传入多个ite ...
- python的def函数_Python 学习之 def 函数
共3118字, 阅读本文需要8分钟 def 函数基础 def 函数的定义 在 python 中,def 函数是用来定义一个 function() 的.基本使用 示例下面我们定义了一个 function ...
- python list join函数_Python中join()函数多种操作代码实例
这篇文章主要介绍了Python中join()函数多种操作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python中有.join()和os ...
- python反序数函数_python逆序函数
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python sorted()函数 list内置一个方法sort(),可以实现对 ...
- python中len 函数_python len
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 在python中除了print函数之外,len函数和type函数应该算是使用最频 ...
- python字典zip函数_Python zip函数及用法
zip() 函数是 Python 内嵌函数之一,它能够将好几个序列(列表.元组.字典.结合.字符串数组及其 range() 区段组成的列表)"缩小"成一个 zip 目标.说白了&q ...
- python画正切函数_python的pygal模块绘制反正切函数图像方法
python的pygal模块绘制反正切函数图像方法 python是一个很有趣的语言,可以在命令行窗口运行.python中有很多功能强大的模块,这篇经验告诉你,如何使用python的pygal模块绘制反 ...
最新文章
- UpdateProgress
- 分分钟get「隔空传手」技能,网友:我想试试别的东西…
- vue 获取元素在浏览器的位置_前端开发JS获取页面元素的位置
- linux 日志行数,如何实时查看日志文件新增的行数
- 数据结构2 - 线性表
- Python学习笔记——算术操作符和优先级问题
- WM_TIMER消息在线程被阻塞时的系统处理
- 内外盘期货分仓系统,仿真模拟考核系统
- 一种基于区块链的物联网架构设计
- If you already have a 64-bit JDK installed 解决方法
- matlab饼状图的编程方法,matlab饼状图
- github配置SSH keys
- 计算机内打不开小米路由器,小米路由器登录界面打不开怎么办?
- Cesium学习资源
- DBeaver 驱动安装
- 路径中 / ./ ../ 分别代表什么
- 【视频教程】Win10系统需要关闭的功能,常规隐私 win10电脑怎么关闭隐私选项
- syscall(SyS_gettid)是什么
- python游戏最简单代码-python基础练习之几个简单的游戏
- RedisUtils和 RedisConfig代码封装如下
热门文章
- 常见问题之Golang——verifying github.com/go-playground/assert/v2@v2.0.1/go.mod: checksum mismatch错误...
- 编译bib文件,报错repeated entry
- win10如何设置计算机网络访问,win10系统设置允许或拒绝从网络中访问本地电脑的操作方法...
- 公网Wiki站点搭建全流程攻略·小白向(含Parsoid和VisualEditor)
- OpenNLP入门实验
- HDU4585 Shaolin
- 小米平板可以编程c语言吗,小米平板方便使用吗
- 如何让百度快速收录网站及文章
- 服务器硬盘热插拔后告警,IBM硬盘所谓支持热插拔带来的问题
- 做网站的一些定律原理和效应