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开发之thread线程基础实例入门
Nov 11 Python
Python中的time模块与datetime模块用法总结
Jun 30 Python
Python 实现一行输入多个值的方法
Apr 21 Python
Python格式化输出字符串方法小结【%与format】
Oct 29 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
Jan 23 Python
django 微信网页授权认证api的步骤详解
Jul 30 Python
python 的 openpyxl模块 读取 Excel文件的方法
Sep 09 Python
pytorch中获取模型input/output shape实例
Dec 30 Python
tensorflow模型保存、加载之变量重命名实例
Jan 21 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
Mar 02 Python
Python基于httpx模块实现发送请求
Jul 07 Python
python中的错误如何查看
Jul 08 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
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
php三种实现多线程类似的方法
2015/10/30 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
ThinkPHP5 验证器的具体使用
2018/05/31 PHP
通过PHP设置BugFree获取邮箱通知
2019/04/25 PHP
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
jquery动态添加删除(tr/td)
2015/02/09 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
基于nodejs+express(4.x+)实现文件上传功能
2015/11/23 NodeJs
JavaScript实现弹出模态窗体并接受传值的方法
2016/02/12 Javascript
js 中获取制定的cook信息实现方法
2016/11/19 Javascript
Vue实例简单方法介绍
2017/01/20 Javascript
BootStrap实现带关闭按钮功能
2017/02/15 Javascript
JS同步、异步、延迟加载的方法
2018/05/05 Javascript
详解vscode中vue代码颜色插件
2018/10/11 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
2019/02/21 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
vue项目中实现缓存的最佳方案详解
2019/07/11 Javascript
vue-router 路由传参用法实例分析
2020/03/06 Javascript
实例分析python3实现并发访问水平切分表
2018/09/29 Python
在Python中定义一个常量的方法
2018/11/10 Python
浅谈Python爬虫基本套路
2019/03/25 Python
使用python制作一个为hex文件增加版本号的脚本实例
2019/06/12 Python
python2.7的flask框架之引用js&css等静态文件的实现方法
2019/08/22 Python
python实现的批量分析xml标签中各个类别个数功能示例
2019/12/30 Python
pytorch 常用线性函数详解
2020/01/15 Python
Python实现自动打开电脑应用的示例代码
2020/04/17 Python
文明倡议书范文
2014/04/15 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
公务员政审材料范文
2014/12/23 职场文书
党支部季度考核意见
2015/06/02 职场文书
2019大学竞选班长发言稿
2019/06/27 职场文书
python 实现体质指数BMI计算
2021/05/26 Python