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编写的com组件发生R6034错误的原因与解决办法
Apr 01 Python
python实现图片变亮或者变暗的方法
Jun 01 Python
Python使用QQ邮箱发送Email的方法实例
Feb 09 Python
Python处理XML格式数据的方法详解
Mar 21 Python
python查看列的唯一值方法
Jul 17 Python
python读取Excel实例详解
Aug 17 Python
pandas 将索引值相加的方法
Nov 15 Python
详解python爬虫系列之初识爬虫
Apr 06 Python
python与mysql数据库交互的实现
Jan 06 Python
Win10下用Anaconda安装TensorFlow(图文教程)
Jun 18 Python
python中数字是否为可变类型
Jul 08 Python
Python 处理日期时间的Arrow库使用
Aug 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 iconv 函数转gb2312的bug解决方法
2009/10/11 PHP
php简单图像创建入门实例
2015/06/10 PHP
Yii框架数据模型的验证规则rules()被执行的方法
2016/12/02 PHP
php和vue配合使用技巧和方法
2019/05/09 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
JQEasy-ui在IE9以下版本中二次加载的问题分析及处理方法
2014/06/23 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
2015/03/04 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
2015/10/31 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
2020/06/24 jQuery
Element-ui el-tree新增和删除节点后如何刷新tree的实例
2020/08/31 Javascript
[02:00]DAC2018主宣传片——龙征四海,剑问东方
2018/03/20 DOTA
[49:56]VG vs Optic 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
跟老齐学Python之画圈还不简单吗?
2014/09/20 Python
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
python模块smtplib学习
2018/05/22 Python
python每天定时运行某程序代码
2019/08/16 Python
Python如何实现动态数组
2019/11/02 Python
Lulu Guinness露露·吉尼斯官网:红唇包
2019/02/03 全球购物
实习单位接收函
2014/01/11 职场文书
我们的节日端午节活动方案
2014/03/02 职场文书
群教班子对照检查材料
2014/08/26 职场文书
村主任群众路线个人对照检查材料
2014/09/26 职场文书
致百米运动员广播稿5篇
2014/10/13 职场文书
个人批评与自我批评
2014/10/15 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
支教个人总结
2015/03/04 职场文书
2016教师国培研修感言
2015/12/08 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
《当代神农氏》教学反思
2016/02/23 职场文书
sql注入教程之类型以及提交注入
2021/08/02 MySQL