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实现将pvr格式转换成pvr.ccz的方法
Apr 28 Python
梯度下降法介绍及利用Python实现的方法示例
Jul 12 Python
python tensorflow基于cnn实现手写数字识别
Jan 01 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
python在openstreetmap地图上绘制路线图的实现
Jul 11 Python
Django对models里的objects的使用详解
Aug 17 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
Oct 11 Python
python实现批量文件重命名
Oct 31 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
Jul 14 Python
python time()的实例用法
Nov 03 Python
python学习之panda数据分析核心支持库
May 07 Python
基于Python实现流星雨效果的绘制
Mar 18 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
生成ubuntu自动切换壁纸xml文件的php代码
2010/07/17 PHP
PHP中遍历stdclass object的实现代码
2011/06/09 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
如何判断图片地址是否失效
2007/02/02 Javascript
键盘 keycode的值 javascript时触发事件时很有用的要素
2009/11/02 Javascript
正则表达式搭配js轻松处理json文本方便而老古
2013/02/17 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
Augularjs-起步详解
2016/07/08 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
vue2.0 可折叠列表 v-for循环展示的实例
2018/09/07 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
Python 中的 else详解
2016/04/23 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
对python字典元素的添加与修改方法详解
2018/07/06 Python
Python实现的简单计算器功能详解
2018/08/25 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
python 的 openpyxl模块 读取 Excel文件的方法
2019/09/09 Python
PyCharm导入python项目并配置虚拟环境的教程详解
2019/10/13 Python
python的等深分箱实例
2019/11/22 Python
Python之关于类变量的两种赋值区别详解
2020/03/12 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
python tkiner实现 一个小小的图片翻页功能的示例代码
2020/06/24 Python
python给list排序的简单方法
2020/12/10 Python
戛纳奢侈品商店:Jacques Loup法国
2019/11/04 全球购物
世界上最大的字体市场:MyFonts
2020/01/10 全球购物
招聘单位介绍信
2014/01/14 职场文书
创先争优活动党员公开承诺书
2014/08/29 职场文书
股东出资证明书(正规版)
2014/09/24 职场文书
2014年学生会生活部工作总结
2014/11/07 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
MySQL完整性约束的定义与实例教程
2021/05/30 MySQL
CSS中妙用 drop-shadow 实现线条光影效果
2021/11/11 HTML / CSS
Python pyecharts绘制条形图详解
2022/04/02 Python