Python实现求一个集合所有子集的示例


Posted in Python onMay 04, 2018

方法一:回归实现

def PowerSetsRecursive(items):
  """Use recursive call to return all subsets of items, include empty set"""
  
  if len(items) == 0:
    #if the lsit is empty, return the empty list
    return [[]]
  
  subsets = []
  first_elt = items[0] #first element
  rest_list = items[1:]
  
  #Strategy:Get all subsets of rest_list; for each of those subsets, a full subset list
  #will contain both the original subset as well as a version of the sebset that contains the first_elt
  
  for partial_sebset in PowerSetsRecursive(rest_list):
    subsets.append(partial_sebset)
    next_subset = partial_sebset[:] +[first_elt]
    subsets.append(next_subset)
  return subsets
def PowerSetsRecursive2(items):
  # the power set of the empty set has one element, the empty set
  result = [[]]
  for x in items:
    result.extend([subset + [x] for subset in result])
  return result

方法二:二进制法

def PowerSetsBinary(items): 
  #generate all combination of N items 
  N = len(items) 
  #enumerate the 2**N possible combinations 
  for i in range(2**N): 
    combo = [] 
    for j in range(N): 
      #test jth bit of integer i 
      if(i >> j ) % 2 == 1: 
        combo.append(items[j]) 
    yield combo

以上这篇Python实现求一个集合所有子集的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
几个提升Python运行效率的方法之间的对比
Apr 03 Python
pandas DataFrame数据转为list的方法
Apr 11 Python
解决新django中的path不能使用正则表达式的问题
Dec 18 Python
使用python实现ftp的文件读写方法
Jul 02 Python
Python2和3字符编码的区别知识点整理
Aug 08 Python
Django 拆分model和view的实现方法
Aug 16 Python
Python 实现大整数乘法算法的示例代码
Sep 17 Python
win10下python3.8的PIL库安装过程
Jun 08 Python
vscode配置anaconda3的方法步骤
Aug 08 Python
Django celery异步任务实现代码示例
Nov 26 Python
python爬虫爬取淘宝商品比价(附淘宝反爬虫机制解决小办法)
Dec 03 Python
python用海龟绘图写贪吃蛇游戏
Jun 18 Python
python list是否包含另一个list所有元素的实例
May 04 #Python
Python判断两个list是否是父子集关系的实例
May 04 #Python
python判断一个集合是否为另一个集合的子集方法
May 04 #Python
python3 判断列表是一个空列表的方法
May 04 #Python
python数字图像处理实现直方图与均衡化
May 04 #Python
用python处理图片实现图像中的像素访问
May 04 #Python
用python处理图片之打开\显示\保存图像的方法
May 04 #Python
You might like
完美解决PHP中的Cannot modify header information 问题
2013/08/12 PHP
PHP入门经历和学习过程分享
2014/04/11 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
2015/07/29 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
2016/08/17 PHP
CI框架简单分页类用法示例
2020/06/06 PHP
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
javascript操作html控件实例(javascript添加html)
2013/12/02 Javascript
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
一不小心就做错的JS闭包面试题
2015/11/25 Javascript
jQuery中inArray方法注意事项分析
2016/01/25 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
简单实现js选项卡切换效果
2017/02/09 Javascript
详解Vue 非父子组件通信方法(非Vuex)
2017/05/24 Javascript
Angularjs修改密码的实例代码
2017/05/26 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
vue2.0全局组件之pdf详解
2017/06/26 Javascript
Vue.js在数组中插入重复数据的实现代码
2017/11/17 Javascript
基于javascript 显式转换与隐式转换(详解)
2017/12/15 Javascript
vue进行图片的预加载watch用法实例讲解
2018/02/07 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
python使用 zip 同时迭代多个序列示例
2019/07/06 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
2020/04/22 Python
Python之Matplotlib文字与注释的使用方法
2020/06/18 Python
python中的django是做什么的
2020/07/31 Python
高校优秀辅导员事迹材料
2014/05/07 职场文书
学校献爱心活动总结
2014/07/08 职场文书
先进工作者事迹材料
2014/12/23 职场文书
收费员岗位职责
2015/02/14 职场文书
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python
MySQL的Query Cache图文详解
2021/07/01 MySQL
Python实现视频中添加音频工具详解
2021/12/06 Python