当前位置: 首页 > news >正文

python实现排列组合代码

    def combination(n, c, com=1, limit=0, per=[]):for pos in range(limit, n):t = per + [pos]if len(set(t)) == len(t):if len(t) == c:yield [pos, ]else:for result in combination(n, c, com, com * pos, per + [pos, ]):yield [pos, ] + resultprint("排列:")  # A8/1for res in combination(8, 1, 0):print(res)print("组合:") # C8/3for res in combination(8, 3):print(res)

排列就是每次都从0开始选,组合的话,后一个必须大于前一个,combination第三个参数com表示是排列还是组合,因为函数名是combination,所以缺省是组合。

检查的话:无论排列还是组合,都不能重复,就是把列表变成词典,看看长度是否一样,不一样了就是有重复元素,不应该放到结果中

借鉴文章:戳这里

http://www.lryc.cn/news/160976.html

相关文章:

  • 盲盒小程序开发方案
  • Mysql锁
  • Kubernetes(k8s)安装NFS动态供给存储类并安装KubeSphere
  • 机器学习笔记 - 【机器学习案例】基于KerasCV的预训练模型自定义多头+多标签预测
  • Linux Debian常用70条经典运维命令和使用案例
  • 【涵子来信】——步入中学,日积跬步,以致千里
  • 【sgCreateAPI】自定义小工具:敏捷开发→自动化生成API接口脚本(接口代码生成工具)
  • 数据库相关基础知识
  • LeetCode刷题笔记【23】:贪心算法专题-1(分发饼干、摆动序列、最大子序和)
  • C++算法 —— 分治(2)归并
  • Hadoop YARN HA 集群安装部署详细图文教程
  • BBS+商城项目的数据库表设计
  • 如何使用Savitzky-Golay滤波器进行轨迹平滑
  • Nomad系列-Nomad网络模式
  • OpenCV项目开发实战--实现面部情绪识别对情绪进行识别和分类及详细讲解及完整代码实现
  • Validate表单组件的封装
  • 企业架构LNMP学习笔记32
  • 基于Jetty9的Geoserver配置https证书
  • 企业互联网暴露面未知资产梳理
  • 【动态规划刷题 12】等差数列划分 最长湍流子数组
  • react-redux 的使用
  • 77 # koa 中间件的应用
  • 【css】z-index与层叠上下文
  • 系统架构设计师(第二版)学习笔记----多媒体技术
  • 【面试经典150 | 数组】合并两个有序数组
  • 系统架构设计专业技能 ·操作系统
  • CSP 202209-1 如此编码
  • windows安装向量数据库milvus
  • Qt中,QScript对JavaScript的内置接口支持情况
  • C语言基础-typedef的用法