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爬取三国演义的实现方法
Sep 12 Python
利用Python命令行传递实例化对象的方法
Nov 02 Python
python处理csv数据动态显示曲线实例代码
Jan 23 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
Feb 21 Python
python删除不需要的python文件方法
Apr 24 Python
Python实现提取XML内容并保存到Excel中的方法
Sep 01 Python
Flask框架中request、请求钩子、上下文用法分析
Jul 23 Python
django项目登录中使用图片验证码的实现方法
Aug 15 Python
python监控nginx端口和进程状态
Sep 06 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
Nov 20 Python
Python中json.dumps()函数的使用解析
May 17 Python
用Python爬取某乎手机APP数据
Jun 15 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过滤危险html代码
2008/08/18 PHP
PHP Stream_*系列函数
2010/08/01 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
2014/06/24 PHP
php实现对两个数组进行减法操作的方法
2015/04/17 PHP
深入理解PHP中的Streams工具
2015/07/03 PHP
详解PHP错误日志的获取方法
2015/07/20 PHP
curl 出现错误的调试方法(必看)
2017/02/13 PHP
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
原生JS实现加入收藏夹的代码
2013/10/24 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
jQuery获取动态生成的元素示例
2014/06/15 Javascript
JS判断客服QQ号在线还是离线状态的方法
2015/01/13 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
javascript History对象原理解析
2020/02/17 Javascript
javascript实现前端分页功能
2020/11/26 Javascript
Python MD5文件生成码
2009/01/12 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
shell命令行,一键创建 python 模板文件脚本方法
2018/03/20 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
TensorFlow数据输入的方法示例
2018/06/19 Python
Python数据抓取爬虫代理防封IP方法
2018/12/23 Python
python扫描线填充算法详解
2020/02/19 Python
python爬虫线程池案例详解(梨视频短视频爬取)
2021/02/20 Python
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
世界上最大的字体市场:MyFonts
2020/01/10 全球购物
护理学专业推荐信
2013/12/03 职场文书
三年大学生活自我鉴定
2014/01/21 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
68句权威创业名言
2019/08/26 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
2021/05/25 Python
Java 深入探究讲解简单工厂模式
2022/04/07 Java/Android
Go语言grpc和protobuf
2022/04/13 Golang
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js