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中的cookielib模拟登录网站
Apr 09 Python
Python实现的飞速中文网小说下载脚本
Apr 23 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
Apr 25 Python
Python中的urllib模块使用详解
Jul 07 Python
python实现可以断点续传和并发的ftp程序
Sep 13 Python
python3实现ftp服务功能(客户端)
Mar 24 Python
python中pytest收集用例规则与运行指定用例详解
Jun 27 Python
Python中使用双下划线防止类属性被覆盖问题
Jun 27 Python
Django model update的多种用法介绍
Mar 28 Python
Python学习笔记之列表和成员运算符及列表相关方法详解
Aug 22 Python
Python日志处理模块logging用法解析
May 19 Python
读取nii或nii.gz文件中的信息即输出图像操作
Jul 01 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
smarty+adodb+部分自定义类的php开发模式
2006/12/31 PHP
php adodb连接mssql解决乱码问题
2009/06/12 PHP
php学习之 循环结构实现代码
2011/06/09 PHP
第三章 php操作符与控制结构代码
2011/12/30 PHP
基于python发送邮件的乱码问题的解决办法
2013/04/25 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
Laravel 微信小程序后端实现用户登录的示例代码
2019/11/26 PHP
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
JQuery 获取和设置Select选项的代码
2010/02/07 Javascript
了解jQuery技巧来提高你的代码(个人觉得那个jquery的手册很不错)
2012/02/10 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
JS小游戏之仙剑翻牌源码详解
2014/09/25 Javascript
JavaScript中数组成员的添加、删除介绍
2014/12/30 Javascript
超实用的JavaScript表单代码段
2016/02/26 Javascript
微信小程序页面间通信的5种方式
2017/03/31 Javascript
vue2.0中vue-cli实现全选、单选计算总价格的实例代码
2017/07/18 Javascript
关于 angularJS的一些用法
2017/11/29 Javascript
React+Webpack快速上手指南(小结)
2018/08/15 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
vue全屏事件开发详解
2020/06/17 Javascript
vue项目打包为APP,静态资源正常显示,但API请求不到数据的操作
2020/09/12 Javascript
nodejs+koa2 实现模仿springMVC框架
2020/10/21 NodeJs
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
[05:00]TI9战队采访 - Royal Never Give Up
2019/08/20 DOTA
Python使用Mechanize模块编写爬虫的要点解析
2016/03/31 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
2021/03/04 Python
LODI女鞋在线商店:阿利坎特的鞋类品牌
2019/02/15 全球购物
乌克兰在线电子产品商店:MTA
2019/11/14 全球购物
临床医师专业个人自我评价范文
2013/11/07 职场文书
十八大闭幕感言
2014/01/22 职场文书
产品售后服务承诺书
2014/05/21 职场文书
施工安全承诺书
2014/05/22 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
让人瞬间清醒的句子,句句经典,字字如金
2019/07/08 职场文书
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python
自从在 IDEA 中用了热部署神器 JRebel 之后,开发效率提升了 10(真棒)
2021/06/26 Java/Android