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模拟enum枚举类型的方法小结
Apr 30 Python
在Python的Django框架中编写错误提示页面
Jul 22 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
Aug 25 Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
Jul 22 Python
Window10下python3.7 安装与卸载教程图解
Sep 30 Python
python科学计算之scipy——optimize用法
Nov 25 Python
Python实现括号匹配方法详解
Feb 10 Python
python如何获得list或numpy数组中最大元素对应的索引
Nov 16 Python
Python用access判断文件是否被占用的实例方法
Dec 17 Python
Python实现打乒乓小游戏
Sep 25 Python
python调用ffmpeg命令行工具便捷操作视频示例实现过程
Nov 01 Python
如何使用python包中的sched事件调度器
Apr 30 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三元运算符的结合性介绍
2012/01/10 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
javaScript对象和属性的创建方法
2007/01/15 Javascript
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
2010/03/09 Javascript
让人期待的2011年度最佳 jQuery 插件分享
2012/03/16 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
javascript继承机制实例详解
2014/11/20 Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
2016/05/05 Javascript
Javascript的比较汇总
2016/07/25 Javascript
jQuery实现倒计时(倒计时年月日可自己输入)
2016/12/02 Javascript
Bootstrap和Java分页实例第一篇
2016/12/23 Javascript
详解nodejs微信公众号开发——4.自动回复各种消息
2017/04/11 NodeJs
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
[01:02:10]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第一局
2016/02/26 DOTA
Python 实现一个手机号码获取妹子名字的功能
2019/09/25 Python
Django ORM判断查询结果是否为空,判断django中的orm为空实例
2020/07/09 Python
python 如何调用 dubbo 接口
2020/09/24 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
详解Html5页面实现下载文件(apk、txt等)的三种方式
2018/10/22 HTML / CSS
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
Notino希腊:购买香水和美容产品
2019/07/25 全球购物
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
平面设计自荐信
2013/10/07 职场文书
测绘工程专业个人自我评价
2013/12/01 职场文书
施工人员岗位职责
2013/12/12 职场文书
业务副厂长岗位职责
2014/01/03 职场文书
单位办理社保介绍信
2014/01/10 职场文书
企业总经理岗位职责
2014/02/13 职场文书
新闻发布会主持词
2014/03/28 职场文书
《新型玻璃》教学反思
2014/04/13 职场文书
交通事故被告答辩状
2015/05/22 职场文书
创业计划书之游泳馆
2019/09/16 职场文书
Redis调用Lua脚本及使用场景快速掌握
2022/03/16 Redis
Win11无法访问设备和打印机 如何解决页面空白
2022/04/09 数码科技