python实现输出一个序列的所有子序列示例
作者:Tiffany_959 时间:2022-04-13 18:34:45
如下所示:
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
移位运算符 << 的优先级大于赋值 =
用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]
来源:https://blog.csdn.net/Tiffany_959/article/details/102651770
标签:python,输出,序列,子序列
0
投稿
猜你喜欢
Mysql数据库命令大全
2024-01-26 09:09:39
分布式爬虫scrapy-redis的实战踩坑记录
2022-03-02 02:13:24
利用d3.js实现蜂巢图表带动画效果
2024-04-18 10:15:19
使用php数据缓存技术提高执行效率
2023-05-24 23:14:24
Access秘密技巧和陷阱
2008-04-12 14:55:00
初学者必读:经典的数据库记录分页代码
2009-01-08 15:27:00
Python实现监控内存使用情况和代码执行时间
2023-05-02 15:42:02
win8下python3.4安装和环境配置图文教程
2022-10-29 03:23:29
python实现opencv+scoket网络实时图传
2023-07-03 16:09:17
Python中的Selenium异常处理
2021-08-28 04:15:23
MySQL8.0的WITH查询详情
2024-01-24 16:43:16
python+tkinter编写电脑桌面放大镜程序实例代码
2023-08-02 17:10:43
Python爬虫入门案例之爬取二手房源数据
2021-07-13 15:31:41
使用PHP实现生成HTML静态页面
2023-11-14 11:14:41
Xml Http抓取数据时乱码问题解决
2008-04-24 11:16:00
Python中数组切片的用法实例详解
2022-09-18 16:51:42
js实现局部页面打印预览原理及示例代码
2024-04-25 13:13:48
Python socket模块ftp传输文件过程解析
2021-04-17 02:22:59
解析php session_set_save_handler 函数的用法(mysql)
2023-11-17 21:58:28
vue封装一个弹幕组件详解
2024-05-09 15:28:38