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 相关文章推荐
在Django中同时使用多个配置文件的方法
Jul 22 Python
将Python的Django框架与认证系统整合的方法
Jul 24 Python
5个很好的Python面试题问题答案及分析
Jan 19 Python
python3利用tcp实现文件夹远程传输
Jul 28 Python
Tensorflow 实现修改张量特定元素的值方法
Jul 30 Python
Python3 pip3 list 出现 DEPRECATION 警告的解决方法
Feb 16 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
Mar 30 Python
Python实现的爬取豆瓣电影信息功能案例
Sep 15 Python
Win10 安装PyCharm2019.1.1(图文教程)
Sep 29 Python
Python编程快速上手——PDF文件操作案例分析
Feb 28 Python
Python使用jupyter notebook查看ipynb文件过程解析
Jun 02 Python
Python标准库之typing的用法(类型标注)
Jun 02 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
yii2.0实现创建简单widgets示例
2016/07/18 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
用jquery设置按钮的disabled属性的实现代码
2010/11/28 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
jQuery EasyUI菜单与按钮详解
2016/07/13 Javascript
利用Angularjs实现幻灯片效果
2016/09/07 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
Javascript中常用类型的格式化方法小结
2016/12/26 Javascript
JS异步文件上传(兼容IE8+)
2017/04/02 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
vue子路由跳转实现tab选项卡
2019/07/24 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
vue根据条件不同显示不同按钮的操作
2020/08/04 Javascript
[00:43]2016完美“圣”典风云人物:单车宣传片
2016/12/02 DOTA
python 从远程服务器下载日志文件的程序
2013/02/10 Python
Python作用域用法实例详解
2016/03/15 Python
Python yield 使用方法浅析
2017/05/20 Python
Python编程实现控制cmd命令行显示颜色的方法示例
2017/08/14 Python
Python实现输出程序执行进度百分比的方法
2017/09/16 Python
用python与文件进行交互的方法
2018/03/01 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
python实现画循环圆
2019/11/23 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
python excel多行合并的方法
2020/12/09 Python
css3 border旋转时的动画应用
2016/01/22 HTML / CSS
HTML5 Canvas实现360度全景图的示例代码
2018/01/29 HTML / CSS
伦敦高达60%折扣的钻石珠宝商:Purely Diamonds
2018/06/24 全球购物
《水乡歌》教学反思
2014/04/24 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
2014年信用社工作总结
2014/11/25 职场文书
党员公开承诺书2015
2015/01/21 职场文书
社区党务工作总结2015
2015/05/19 职场文书
谢师宴学生致辞
2015/07/27 职场文书
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers