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数据结构之列表和元组的详解
Sep 23 Python
Python中实现switch功能实例解析
Jan 11 Python
python3+requests接口自动化session操作方法
Oct 13 Python
pycham查看程序执行的时间方法
Nov 29 Python
Python3利用print输出带颜色的彩色字体示例代码
Apr 08 Python
PyQt5 实现字体大小自适应分辨率的方法
Jun 18 Python
对python中的控制条件、循环和跳出详解
Jun 24 Python
Python虚拟环境的原理及使用详解
Jul 02 Python
解决Django layui {{}}冲突的问题
Aug 29 Python
python3 sleep 延时秒 毫秒实例
May 04 Python
python中关于数据类型的学习笔记
Jul 19 Python
python3.7 openpyxl 在excel单元格中写入数据实例
Sep 01 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学习笔记之面向对象编程
2012/12/29 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
2014/06/12 PHP
让ThinkPHP支持大小写url地址访问的方法
2014/10/31 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
2019/06/14 PHP
php pdo连接数据库操作示例
2019/11/18 PHP
做网页的一些技巧(续)
2007/02/01 Javascript
JavaScript 判断判断某个对象是Object还是一个Array
2010/01/28 Javascript
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
使用 stylelint检查CSS_StyleLint
2016/04/28 Javascript
vuex的使用及持久化state的方式详解
2018/01/23 Javascript
Python中字典和JSON互转操作实例
2015/01/19 Python
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
Python读写配置文件的方法
2015/06/03 Python
Python 中 Virtualenv 和 pip 的简单用法详解
2017/08/18 Python
Python求出0~100以内的所有素数
2018/01/23 Python
python的格式化输出(format,%)实例详解
2018/06/01 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
2019/11/27 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
Python如何将装饰器定义为类
2020/07/30 Python
python 多线程中join()的作用
2020/10/29 Python
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
Oroton中国官网:澳洲知名奢侈配饰品牌
2017/03/26 全球购物
美国流行背包品牌:JanSport(杰斯伯)
2018/03/02 全球购物
秘书专业自荐信范文
2013/12/26 职场文书
初二物理教学反思
2014/01/29 职场文书
会务接待方案
2014/02/27 职场文书
不错的求职信范文
2014/07/20 职场文书
2014年财务工作总结与计划
2014/12/08 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
高中班主任培训心得体会
2016/01/07 职场文书
初中体育课教学反思
2016/02/16 职场文书
创业计划书之美甲店
2019/09/20 职场文书