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 打印出所有的对象/模块的属性(实例代码)
Sep 11 Python
Python中对象的引用与复制代码示例
Dec 04 Python
Django rest framework工具包简单用法示例
Jul 20 Python
Pytorch evaluation每次运行结果不同的解决
Jan 02 Python
MNIST数据集转化为二维图片的实现示例
Jan 10 Python
使用 Python ssh 远程登陆服务器的最佳方案
Mar 06 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
Mar 16 Python
在django中form的label和verbose name的区别说明
May 20 Python
python 日志模块 日志等级设置失效的解决方案
May 26 Python
Python读写csv文件流程及异常解决
Oct 20 Python
Django中使用Celery的方法步骤
Dec 07 Python
Python获取字典中某个key的value
Apr 13 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/04/19 PHP
使用PHP静态变量当缓存的方法
2013/11/13 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
PHP 快速排序算法详解
2014/11/10 PHP
基于php双引号中访问数组元素报错的解决方法
2018/02/01 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
JavaScript中的稀疏数组与密集数组[译]
2012/09/17 Javascript
checkbox设置复选框的只读效果不让用户勾选
2013/08/12 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
2015/06/04 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
jquery.validate表单验证插件使用详解
2017/06/21 jQuery
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
自定义vue组件发布到npm的方法
2018/05/09 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
Python 正则表达式的高级用法
2016/12/04 Python
详解python字节码
2018/02/07 Python
对python 命令的-u参数详解
2018/12/03 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
python绘制地震散点图
2019/06/18 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2019/10/21 Python
Pandas时间序列基础详解(转换,索引,切片)
2020/02/26 Python
pycharm 添加解释器的方法步骤
2020/08/31 Python
Python高并发和多线程有什么关系
2020/11/14 Python
台湾乐天市场:日本No.1的网路购物网站
2017/03/22 全球购物
New Balance天猫官方旗舰店:始于1906年,百年慢跑品牌
2017/11/15 全球购物
英国助听器购物网站:Hearing Direct
2018/08/21 全球购物
巴西最大的运动品牌:Olympikus
2020/07/14 全球购物
大学生简历中个人的自我评价
2013/10/06 职场文书
应届大学生求职的自我评价
2013/11/17 职场文书
客服部工作职责范本
2014/02/14 职场文书
给公司的建议书范文
2014/05/13 职场文书
2014年教研工作总结
2014/12/06 职场文书
运动会表扬稿
2015/01/16 职场文书
Mysql数据库手动及定时备份步骤
2021/11/07 MySQL