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中的exec、eval使用实例
Sep 23 Python
在Django中创建URLconf相关的通用视图的方法
Jul 20 Python
Python解析excel文件存入sqlite数据库的方法
Nov 15 Python
python实现Dijkstra静态寻路算法
Jan 17 Python
Python面向对象进阶学习
May 21 Python
python安装scipy的方法步骤
Jun 26 Python
python安装dlib库报错问题及解决方法
Mar 16 Python
Python reversed函数及使用方法解析
Mar 17 Python
python pyecharts 实现一个文件绘制多张图
May 13 Python
python获取命令行参数实例方法讲解
Nov 02 Python
python 统计list中各个元素出现的次数的几种方法
Feb 20 Python
使用python实现学生信息管理系统
Feb 25 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正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
PHP生成条形图的方法
2014/12/10 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
php将图片保存为不同尺寸图片的图片类实例
2015/03/30 PHP
php提交post数组参数实例分析
2015/12/17 PHP
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
IOS 开发之NSDictionary转换成JSON字符串
2017/08/14 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
VBS通过WMI监视注册表变动的代码
2011/10/27 Javascript
jquery 插件学习(六)
2012/08/06 Javascript
javascript获取元素离文档各边距离的方法
2015/02/13 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
使用jQuery加载html页面到指定的div实现方法
2016/07/13 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
2017/01/21 Javascript
jQuery EasyUI 页面加载等待及页面等待层
2017/02/06 Javascript
vue复合组件实现注册表单功能
2017/11/06 Javascript
vue2.0使用v-for循环制作多级嵌套菜单栏
2018/06/25 Javascript
vue中Axios的封装与API接口的管理详解
2018/08/09 Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
2018/12/06 jQuery
vue 重塑数组之修改数组指定index的值操作
2020/08/09 Javascript
Python内置函数dir详解
2015/04/14 Python
Python实现的连接mssql数据库操作示例
2018/08/17 Python
使用TensorFlow实现简单线性回归模型
2019/07/19 Python
python 6行代码制作月历生成器
2020/09/18 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
python drf各类组件的用法和作用
2021/01/12 Python
CSS3中Animation动画属性用法详解
2016/07/04 HTML / CSS
银行存款证明样本
2014/01/17 职场文书
教师研修随笔感言
2014/01/23 职场文书
宣传标语大全
2014/07/01 职场文书
写给老师的保证书
2015/05/09 职场文书
Python3 类型标注支持操作
2021/06/02 Python
CSS作用域(样式分割)的使用汇总
2021/11/07 HTML / CSS
Win11电脑显示本地时间与服务器时间不一致怎么解决?
2022/04/05 数码科技
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js