python实现输出一个序列的所有子序列示例


Posted in Python onNovember 18, 2019

如下所示:

def sub(arr):
 finish=[]
 size = len(arr)
 end = 1 << size #end=2**size
 for index in range(end): # shift index
  array = []
  for j in range(size):
   # 00,01,10,11 is symmetrical
   if (index >> j) % 2: # this result is 1, so do not have to write ==
    array.append(arr[j])
  # print(array)
  finish.append(array)
 return finish

python实现输出一个序列的所有子序列示例

移位运算符 << 的优先级大于赋值 =

用01二进制串决定数组中的每个数字是否输出

[]=000;[1]=100;[2]=010;[3]=001;[1,2]=110;[1,2,3]=111…

如何实现?

第一个循环实现的是01串的遍历,eg.由000到111

第二个循环实现的是数组的遍历,eg.将000与数组中的每一位数字做判断

在if语句中,用到了向右移位,由于二进制串是对称的,所以我们可以将01串从后向前与数组中的每一位数字做判断。

eg.001与100对称,110与011对称…

在001中,最后一位是1,说明数组中3需要输出

但是在我们遍历数组的时候,先遇到的是1与arr[0],不过由于对称性,这种情况其实与在100中,后遇到的是1与arr[2]

以上这篇python实现输出一个序列的所有子序列示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
新手该如何学python怎么学好python?
Oct 07 Python
Python数组条件过滤filter函数使用示例
Jul 22 Python
跟老齐学Python之网站的结构
Oct 24 Python
在Python中使用matplotlib模块绘制数据图的示例
May 04 Python
Python实现的科学计算器功能示例
Aug 04 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
Feb 13 Python
python实现单链表中删除倒数第K个节点的方法
Sep 28 Python
对python添加模块路径的三种方法总结
Oct 16 Python
python redis连接 有序集合去重的代码
Aug 04 Python
pytorch自定义初始化权重的方法
Aug 17 Python
Python configparser模块常用方法解析
May 22 Python
python程序实现BTC(比特币)挖矿的完整代码
Jan 20 Python
Python中的四种交换数值的方法解析
Nov 18 #Python
Django将默认的SQLite更换为MySQL的实现
Nov 18 #Python
DJango的创建和使用详解(默认数据库sqlite3)
Nov 18 #Python
详解Django配置优化方法
Nov 18 #Python
python爬虫爬取笔趣网小说网站过程图解
Nov 18 #Python
基于python操作ES实例详解
Nov 16 #Python
Python爬取豆瓣视频信息代码实例
Nov 16 #Python
You might like
php下删除一篇文章生成的多个静态页面
2010/08/08 PHP
单点登录 Ucenter示例分析
2013/10/29 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
2014/05/10 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
javascript 异步页面查询实现代码(asp.net)
2010/05/26 Javascript
jQuery替换字符串(实例代码)
2013/11/13 Javascript
javascript判断office版本示例
2014/04/11 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
2015/09/05 Javascript
AngularJS directive返回对象属性详解
2016/03/28 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
JS实现列表页面隔行变色效果
2017/03/25 Javascript
JavaScript中 DOM操作方法小结
2017/04/25 Javascript
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
Vue+jquery实现表格指定列的文字收缩的示例代码
2018/01/09 jQuery
详解组件库的webpack构建速度优化
2018/06/18 Javascript
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
vue使用element-ui实现表单验证
2020/12/13 Vue.js
实例说明Python中比较运算符的使用
2015/05/13 Python
Django框架实现的简单分页功能示例
2018/12/04 Python
Python常见数据结构之栈与队列用法示例
2019/01/14 Python
Linux面试题LINUX系统类
2015/11/25 面试题
2013年军训通讯稿
2014/02/05 职场文书
新学期决心书
2014/03/11 职场文书
企业标语口号
2014/06/10 职场文书
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
公司2015年终工作总结
2015/05/26 职场文书
汶川大地震感悟
2015/08/10 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书
Jackson 反序列化时实现大小写不敏感设置
2021/06/29 Java/Android