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中的内存泄漏
Apr 23 Python
Python正则表达式教程之三:贪婪/非贪婪特性
Mar 02 Python
Python编程之Re模块下的函数介绍
Oct 28 Python
Python抓取框架Scrapy爬虫入门:页面提取
Dec 01 Python
python opencv 读取本地视频文件 修改ffmpeg的方法
Jan 26 Python
python中的decimal类型转换实例详解
Jun 26 Python
利用Python校准本地时间的方法教程
Oct 31 Python
nginx搭建基于python的web环境的实现步骤
Jan 03 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
Jun 16 Python
用python对excel查重
Dec 07 Python
python爬虫selenium模块详解
Mar 30 Python
Python时间操作之pytz模块使用详解
Jun 14 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实现基于pdo的事务处理方法示例
2017/07/21 PHP
PHP获取星期几的常用方法小结
2018/12/18 PHP
Smarty缓存机制实例详解【三种缓存方式】
2019/07/20 PHP
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
预加载css或javascript的js代码
2010/04/23 Javascript
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
js面向对象设计用{}好还是function(){}好(构造函数)
2011/10/23 Javascript
让jQuery与其他JavaScript库并存避免冲突的方法
2013/12/23 Javascript
jquery通过load获取文件的内容并跳到锚点的方法
2015/01/29 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
jsp 自动编译机制详细介绍
2016/12/01 Javascript
JS实现HTML标签转义及反转义
2020/04/14 Javascript
详解vue组件通信的三种方式
2017/06/30 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
vue项目webpack中Npm传递参数配置不同域名接口
2018/06/15 Javascript
百度小程序之间的页面通信过程详解
2019/07/18 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
原生js实现五子棋游戏
2020/05/28 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
[02:12]2019完美世界全国高校联赛(春季赛)报名开启
2019/03/01 DOTA
使用Python对SQLite数据库操作
2017/04/06 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
浅析Python数据处理
2018/05/02 Python
利用python如何处理百万条数据(适用java新手)
2018/06/06 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
Python numpy矩阵处理运算工具用法汇总
2020/07/13 Python
打印机墨盒:123Inkjets
2017/02/16 全球购物
Lucene推荐的分页方式是什么?
2015/12/07 面试题
应届生骨科医生求职信
2013/10/31 职场文书
统计学专业毕业生的自我评价分享
2013/11/28 职场文书
退伍老兵事迹材料
2014/01/31 职场文书
经济管理自荐书
2014/06/09 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
大学军训的体会
2014/11/08 职场文书
2014年财务人员工作总结
2014/11/11 职场文书
创业计划书之面包店
2019/09/12 职场文书