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中的类与对象之描述符详解
Mar 27 Python
Python的GUI框架PySide的安装配置教程
Feb 16 Python
Python中几种属性访问的区别与用法详解
Oct 10 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
Nov 01 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
Jan 04 Python
Python如何爬取实时变化的WebSocket数据的方法
Mar 09 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
Aug 01 Python
centos7中安装python3.6.4的教程
Dec 11 Python
使用Keras实现简单线性回归模型操作
Jun 12 Python
Python基于pillow库实现生成图片水印
Sep 14 Python
Python Pandas pandas.read_sql函数实例用法
Jun 21 Python
pycharm安装深度学习pytorch的d2l包失败问题解决
Mar 25 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计划任务之ignore_user_abort函数实现方法
2015/01/08 PHP
简单谈谈favicon
2015/06/10 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
PHP进阶学习之反射基本概念与用法分析
2019/06/18 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
jQuery中将函数赋值给变量的调用方法
2012/03/23 Javascript
jQuery中insertAfter()方法用法实例
2015/01/08 Javascript
js实现人才网站职位选择功能的方法
2015/08/14 Javascript
JavaScript中Function函数与Object对象的关系
2015/12/17 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
vue系列之动态路由详解【原创】
2017/09/10 Javascript
基于 Vue 实现一个酷炫的 menu插件
2017/11/14 Javascript
浅谈vuex中store的命名空间
2019/11/08 Javascript
在vue中实现echarts随窗体变化
2020/07/27 Javascript
vue 组件简介
2020/07/31 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
2020/11/17 Vue.js
使用python开发vim插件及心得分享
2014/11/04 Python
在Python的setuptools框架下生成egg的教程
2015/04/13 Python
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
python爬虫获取淘宝天猫商品详细参数
2020/06/23 Python
python学习--使用QQ邮箱发送邮件代码实例
2019/04/16 Python
ML神器:sklearn的快速使用及入门
2019/07/11 Python
浅析Python语言自带的数据结构有哪些
2019/08/27 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
Python输出指定字符串的方法
2020/02/06 Python
Python bisect模块原理及常见实例
2020/06/17 Python
利用PyQt5+Matplotlib 绘制静态/动态图的实现代码
2020/07/13 Python
浅析pandas随机排列与随机抽样
2021/01/22 Python
内容编辑个人求职信
2013/12/10 职场文书
财务部副经理岗位职责范本
2014/06/17 职场文书
小学生暑假生活总结
2015/07/13 职场文书
企业宣传稿范文
2015/07/23 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
JavaScript前端面试扁平数据转tree与tree数据扁平化
2022/06/14 Javascript