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 28 Python
Python随机数random模块使用指南
Sep 09 Python
python抓取网页内容并进行语音播报的方法
Dec 24 Python
详解pandas库pd.read_excel操作读取excel文件参数整理与实例
Feb 17 Python
Python openpyxl读取单元格字体颜色过程解析
Sep 03 Python
用python中的matplotlib绘制方程图像代码
Nov 21 Python
对Pytorch中Tensor的各种池化操作解析
Jan 03 Python
python读取当前目录下的CSV文件数据
Mar 11 Python
Python利用Faiss库实现ANN近邻搜索的方法详解
Aug 03 Python
如何以Winsows Service方式运行JupyterLab
Aug 30 Python
Jupyter Notebook安装及使用方法解析
Nov 12 Python
Python OpenCV之常用滤波器使用详解
Apr 07 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
将RTF格式的文件转成HTML并在网页中显示的代码
2006/10/09 PHP
转PHP手册及PHP编程标准
2006/12/17 PHP
php 字符转义 注意事项
2009/05/27 PHP
PHP flush()与ob_flush()的区别详解
2013/06/03 PHP
2014年最新推荐的10款 PHP 开发框架
2014/08/01 PHP
PHP中的output_buffering详细介绍
2014/09/27 PHP
eclipse php wamp配置教程
2016/06/30 PHP
jquery 页面滚动到指定DIV实现代码
2013/09/25 Javascript
用javascript添加控件自定义属性解析
2013/11/25 Javascript
JavaScript+html5 canvas实现图片破碎重组动画特效
2016/02/22 Javascript
极力推荐一款小巧玲珑的可视化编辑器bootstrap-wysiwyg
2016/05/27 Javascript
浅析BootStrap Treeview的简单使用
2016/10/12 Javascript
js实现数字递增特效【仿支付宝我的财富】
2017/05/05 Javascript
详解小程序input框失焦事件在提交事件前的处理
2019/05/05 Javascript
Vue解决echart在element的tab切换时显示不正确问题
2020/08/03 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
pyv8学习python和javascript变量进行交互
2013/12/04 Python
Python中optparse模块使用浅析
2015/01/01 Python
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
浅谈配置OpenCV3 + Python3的简易方法(macOS)
2018/04/02 Python
python根据list重命名文件夹里的所有文件实例
2018/10/25 Python
一文带你了解Python中的字符串是什么
2018/11/20 Python
Django为窗体加上防机器人的验证码功能过程解析
2019/08/14 Python
python烟花效果的代码实例
2020/02/25 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
2020/11/22 Python
KELLER SPORTS荷兰:在线订购最好的运动产品
2020/10/13 全球购物
Collection和Collections的区别
2016/05/02 面试题
介绍一下结构化程序设计方法和面向对象程序设计方法的区别
2012/06/27 面试题
秘书英文求职信范文
2014/01/31 职场文书
志愿者服务感言
2014/02/27 职场文书
水电站项目建议书
2014/05/12 职场文书
社团活动总结书
2014/06/27 职场文书
个人工作表现评价材料
2014/09/21 职场文书
同事打架检讨书
2015/05/06 职场文书