python生成n个元素的全组合方法


Posted in Python onNovember 13, 2018

利用二进制反格雷码(bynary reflected Gray code)的方式生成n个元素的全组合,Cn1+Cn2+...+Cnn,

如在利用穷举方法解决背包问题时,就需要找出物品的所有组合的子集。如有物品1,2,3.我们就可以生成3个位串的格雷码,0表示不选择该物品,1表示选择该物品。

算法如下所示:

import copy
def brgd(n):
 '''
 递归生成n位的二进制反格雷码
 :param n:
 :return:
 '''
 if n==1:
  return ["0","1"]
 L1 = brgd(n-1)
 L2 = copy.deepcopy(L1)
 L2.reverse()
 L1 = ["0" + l for l in L1]
 L2 = ["1" + l for l in L2]
 L = L1 + L2
 return L

以上这篇python生成n个元素的全组合方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Django中Request对象的相关用法
Jul 17 Python
Python过滤列表用法实例分析
Apr 29 Python
离线安装Pyecharts的步骤以及依赖包流程
Apr 23 Python
python读取与写入csv格式文件的示例代码
Dec 16 Python
Python模块文件结构代码详解
Feb 03 Python
pyqt5 实现多窗口跳转的方法
Jun 19 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
Feb 28 Python
python3实现往mysql中插入datetime类型的数据
Mar 02 Python
python中slice参数过长的处理方法及实例
Dec 15 Python
浅谈matplotlib默认字体设置探索
Feb 03 Python
python之np.argmax()及对axis=0或者1的理解
Jun 02 Python
python组合无重复三位数的实例
Nov 13 #Python
python自动化生成IOS的图标
Nov 13 #Python
python 获取键盘输入,同时有超时的功能示例
Nov 13 #Python
Python3自动签到 定时任务 判断节假日的实例
Nov 13 #Python
python判断输入日期为第几天的实例
Nov 13 #Python
python使用循环打印所有三位数水仙花数的实例
Nov 13 #Python
Python判断一个三位数是否为水仙花数的示例
Nov 13 #Python
You might like
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
关于PHP实现异步操作的研究
2013/02/03 PHP
PHP 读取大文件的X行到Y行内容的实现代码
2013/06/24 PHP
11个PHPer必须要了解的编程规范
2014/09/22 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
Ext.get() 和 Ext.query()组合使用实现最灵活的取元素方式
2011/09/26 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
2013/08/05 Javascript
jquery为页面增加快捷键示例
2014/01/31 Javascript
node.js中的fs.truncate方法使用说明
2014/12/15 Javascript
JS打开新窗口防止被浏览器阻止的方法
2015/01/03 Javascript
jQuery中wrapAll()方法用法实例
2015/01/16 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
2016/01/12 Javascript
js实现音频控制进度条功能
2017/04/01 Javascript
AngularJS自定义表单验证功能实例详解
2018/08/24 Javascript
vue 巧用过渡效果(小结)
2018/09/22 Javascript
apicloud拉起小程序并传递参数的方法示例
2018/11/21 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
微信小程序中使用echarts的实现方法
2019/04/24 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
vue 子组件watch监听不到prop的解决
2020/08/09 Javascript
[02:42]DOTA2城市挑战赛收官在即 四强之争风起云涌
2018/06/05 DOTA
Python的Flask框架标配模板引擎Jinja2的使用教程
2016/07/12 Python
Python创建xml文件示例
2017/03/22 Python
Python 自动化表单提交实例代码
2017/06/08 Python
python实现五子棋小游戏
2020/03/25 Python
Mac PyCharm中的.gitignore 安装设置教程
2020/04/16 Python
Python json读写方式和字典相互转化
2020/04/18 Python
软件测试有哪些?什么是配置项?
2012/02/12 面试题
2014年师德师风学习材料
2014/05/16 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
2014党员批评和自我批评思想汇报
2014/09/21 职场文书
出售房屋协议书范本
2014/10/06 职场文书
初中英语教学随笔
2015/08/15 职场文书
python 字典和列表嵌套用法详解
2021/06/29 Python