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将html转成PDF的实现代码(包含中文)
Mar 04 Python
pandas中Timestamp类用法详解
Dec 11 Python
python3+PyQt5泛型委托详解
Apr 24 Python
对python使用http、https代理的实例讲解
May 07 Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
Jun 21 Python
Python Pandas 箱线图的实现
Jul 23 Python
利用python-docx模块写批量生日邀请函
Aug 26 Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 Python
Python图像处理库PIL的ImageFont模块使用介绍
Feb 26 Python
Django用数据库表反向生成models类知识点详解
Mar 25 Python
python datetime时间格式的相互转换问题
Jun 11 Python
关于python类SortedList详解
Sep 04 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批量生成静态HTML的简单原理和方法
2014/04/20 PHP
浅谈Laravel POST,PUT,PATCH 路由的区别
2019/10/15 PHP
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
IE6/7 and IE8/9/10(IE7模式)依次隐藏具有absolute或relative的父元素和子元素后再显示父元素
2011/07/31 Javascript
js DOM的学习笔记
2011/12/22 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
使用JQuery实现的分页插件分享
2015/11/05 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
详解浏览器渲染页面过程
2017/02/09 Javascript
深入学习 JavaScript中的函数调用
2017/03/23 Javascript
vue-hook-form使用详解
2017/04/07 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
基于JavaScript实现报警器提示音效果
2017/10/27 Javascript
微信公众号H5支付接口调用方法
2019/01/10 Javascript
Vue-cli3.X使用px2 rem遇到的问题及解决方法
2019/08/08 Javascript
python实现斐波那契数列的方法示例
2017/01/12 Python
Pycharm学习教程(2) 代码风格
2017/05/02 Python
Tensorflow 合并通道及加载子模型的方法
2018/07/26 Python
详解django中使用定时任务的方法
2018/09/27 Python
Python爬虫之UserAgent的使用实例
2019/02/21 Python
从0到1使用python开发一个半自动答题小程序的实现
2020/05/12 Python
python中的yield from语法快速学习
2020/11/06 Python
Python + opencv对拍照得到的图片进行背景去除的实现方法
2020/11/18 Python
常用的HTML5列表标签
2017/06/20 HTML / CSS
德国体育用品网上商店:SC24.com
2016/08/01 全球购物
园长自我鉴定
2013/10/06 职场文书
五星级酒店餐饮部总监的标准岗位职责
2014/02/17 职场文书
小学班级特色活动方案
2014/08/31 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
停电通知范文
2015/04/16 职场文书
2015年乡镇民政工作总结
2015/05/13 职场文书
JavaScript 实现页面滚动动画
2021/04/24 Javascript
golang日志包logger的用法详解
2021/05/05 Golang
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL
Mybatis-plus配置分页插件返回统一结果集
2022/06/21 Java/Android