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 json encode datetime类型
Dec 28 Python
python抓取京东商城手机列表url实例代码
Dec 18 Python
Ubuntu 14.04+Django 1.7.1+Nginx+uwsgi部署教程
Nov 18 Python
python中的错误处理
Apr 10 Python
使用Python进行目录的对比方法
Nov 01 Python
浅谈python脚本设置运行参数的方法
Dec 03 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
Dec 05 Python
Python操作json的方法实例分析
Dec 06 Python
python贪吃蛇游戏代码
Apr 18 Python
利用python和百度地图API实现数据地图标注的方法
May 13 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
Mar 20 Python
Python判断变量是否是None写法代码实例
Oct 09 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
NO3第三帝国留言簿制作过程
2006/10/09 PHP
PHP实现腾讯与百度坐标转换
2017/08/05 PHP
javascript一点特殊用法
2008/05/28 Javascript
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
2015/12/03 Javascript
理解JS事件循环
2016/01/07 Javascript
Jquery轮播效果实现过程解析
2016/03/30 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
JavaScript 数组- Array的方法总结(推荐)
2016/07/21 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
2016/09/08 Javascript
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
使用classList来实现两个按钮样式的切换方法
2018/01/24 Javascript
Vue实现回到顶部和底部动画效果
2019/07/31 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
2019/09/10 Javascript
vue项目中定义全局变量、函数的几种方法
2019/11/08 Javascript
微信小程序整个页面的自动适应布局的实现
2020/07/12 Javascript
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python实现上传样本到virustotal并查询扫描信息的方法
2014/10/05 Python
零基础写python爬虫之爬虫的定义及URL构成
2014/11/04 Python
使用python 和 lint 删除项目无用资源的方法
2017/12/20 Python
Python设计模式之观察者模式简单示例
2018/01/10 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
2020/07/03 Python
Python第三方包PrettyTable安装及用法解析
2020/07/08 Python
html5音频_动力节点Java学院整理
2018/08/22 HTML / CSS
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
机电专业毕业生求职信
2013/10/27 职场文书
违反交通法规检讨书
2014/09/10 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
庆祝教师节主持词
2015/07/06 职场文书
高三毕业感言
2015/07/30 职场文书
python opencv常用图形绘制方法(线段、矩形、圆形、椭圆、文本)
2021/04/12 Python
MySQL慢查询的坑
2021/04/28 MySQL
MySQL主从搭建(多主一从)的实现思路与步骤
2021/05/13 MySQL