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 相关文章推荐
利用一个简单的例子窥探CPython内核的运行机制
Mar 30 Python
Python中支持向量机SVM的使用方法详解
Dec 26 Python
Python基于ThreadingTCPServer创建多线程代理的方法示例
Jan 11 Python
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
Mar 15 Python
对Python中list的倒序索引和切片实例讲解
Nov 15 Python
Python二次规划和线性规划使用实例
Dec 09 Python
Django User 模块之 AbstractUser 扩展详解
Mar 11 Python
python数据库编程 ODBC方式实现通讯录
Mar 27 Python
Python实现仿射密码的思路详解
Apr 23 Python
Python中格式化字符串的四种实现
May 26 Python
使用pyplot.matshow()函数添加绘图标题
Jun 16 Python
python连接mysql数据库并读取数据的实现
Sep 25 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+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
php实现的支持断点续传的文件下载类
2014/09/23 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
JavaScript中的面向对象介绍
2012/06/30 Javascript
不同Jquery版本引发的问题解决
2013/10/14 Javascript
下拉列表select 由左边框移动到右边示例
2013/12/04 Javascript
node.js中的path.basename方法使用说明
2014/12/09 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
AngualrJS中的Directive制作一个菜单
2016/01/26 Javascript
jquery动态添加文本并获取值的方法
2016/10/12 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
2017/12/20 Javascript
使用async await 封装 axios的方法
2018/07/09 Javascript
小程序自定义日历效果
2018/12/29 Javascript
this.$toast() 了解一下?
2019/04/18 Javascript
对Layer UI 模块化的用法详解
2019/09/26 Javascript
vue 使用rules对表单字段进行校验的步骤
2020/12/25 Vue.js
在Python的Django框架中生成CSV文件的方法
2015/07/22 Python
浅谈Python爬取网页的编码处理
2016/11/04 Python
使用python实现ANN
2017/12/20 Python
Python3 搭建Qt5 环境的方法示例
2020/07/16 Python
学python爬虫能做什么
2020/07/29 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
Web页面中八种创建多列等高(等高列布局)的实现技术
2012/12/24 HTML / CSS
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
HTML5实现签到 功能
2018/10/09 HTML / CSS
recorder.js 基于Html5录音功能的实现
2020/05/26 HTML / CSS
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
戴尔英国翻新电脑和电子产品:Dell UK Refurbished Computers
2019/07/30 全球购物
Python面试题集
2012/03/08 面试题
给老师的一封建议书
2014/03/13 职场文书
教师产假请假条
2014/04/10 职场文书
岗位明星事迹材料
2014/05/18 职场文书
Python 文本滚动播放器的实现代码
2021/04/25 Python
Node.js实现爬取网站图片的示例代码
2022/04/04 NodeJs
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电