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基础教程之正则表达式基本语法以及re模块
Mar 25 Python
python 打印出所有的对象/模块的属性(实例代码)
Sep 11 Python
python 2.6.6升级到python 2.7.x版本的方法
Oct 09 Python
Python heapq使用详解及实例代码
Jan 25 Python
Python中常见的异常总结
Feb 20 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
Oct 21 Python
Python3.6.x中内置函数总结及讲解
Feb 22 Python
pyside+pyqt实现鼠标右键菜单功能
Dec 08 Python
python爬虫之遍历单个域名
Nov 20 Python
使用Keras构造简单的CNN网络实例
Jun 29 Python
Python Selenium破解滑块验证码最新版(GEETEST95%以上通过率)
Jan 29 Python
python中sqllite插入numpy数组到数据库的实现方法
Jun 21 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
推荐一篇入门级的Class文章
2007/03/19 PHP
最常用的8款PHP调试工具
2014/07/06 PHP
php使用cookie保存用户登录的用户名实例
2015/01/26 PHP
Javascript 对象的解释
2008/11/24 Javascript
event.srcElement 用法笔记e.target
2009/12/18 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
基于Javascript实现文件实时加载进度的方法
2016/10/12 Javascript
谈谈JavaScript中浏览器兼容问题的写法小议
2016/12/17 Javascript
React快速入门教程
2017/01/17 Javascript
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
vue.js input框之间赋值方法
2018/08/24 Javascript
深入探讨JavaScript的最基本部分之执行上下文
2019/02/12 Javascript
JS+CSS实现随机点名(实例代码)
2019/11/04 Javascript
详解JavaScript 异步编程
2020/07/13 Javascript
python解析发往本机的数据包示例 (解析数据包)
2014/01/16 Python
Python中的各种装饰器详解
2015/04/11 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
2017/08/31 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
用Python将结果保存为xlsx的方法
2019/01/28 Python
Python学习笔记之视频人脸检测识别实例教程
2019/03/06 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2019/07/08 Python
Python获取时间戳代码实例
2019/09/24 Python
Python 函数绘图及函数图像微分与积分
2019/11/20 Python
如何通过Django使用本地css/js文件
2020/01/20 Python
Python xlwt模块使用代码实例
2020/06/10 Python
海外淘书首选:AbeBooks
2017/07/31 全球购物
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
怎样声明子类
2013/07/02 面试题
幼儿园庆六一游园活动方案
2014/01/29 职场文书
政法学院毕业生求职信
2014/02/28 职场文书
2014年教师节演讲稿范文
2014/09/10 职场文书
教师辞职书范文
2015/02/26 职场文书
大学运动会加油稿
2015/07/22 职场文书