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 相关文章推荐
50行代码实现贪吃蛇(具体思路及代码)
Apr 27 Python
python中执行shell命令的几个方法小结
Sep 18 Python
在Python中进行自动化单元测试的教程
Apr 15 Python
Python的Flask开发框架简单上手笔记
Nov 16 Python
python字典多键值及重复键值的使用方法(详解)
Oct 31 Python
python中logging模块的一些简单用法的使用
Feb 22 Python
Python计算时间间隔(精确到微妙)的代码实例
Feb 26 Python
python elasticsearch从创建索引到写入数据的全过程
Aug 04 Python
python线程的几种创建方式详解
Aug 29 Python
pandas实现excel中的数据透视表和Vlookup函数功能代码
Feb 14 Python
python如何支持并发方法详解
Jul 25 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
Nov 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语法(4)
2006/10/09 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
Javascript 匿名函数及其代码模式原理
2010/03/19 Javascript
jquery实现滑动图片自己测试的例子
2013/11/05 Javascript
javascript闭包入门示例
2014/04/30 Javascript
jQuery修改class属性和CSS样式整理
2015/01/30 Javascript
浅谈document.write()输出样式
2015/05/07 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
Angular如何引入第三方库的方法详解
2017/07/13 Javascript
Vue使用vue-area-linkage实现地址三级联动效果的示例
2018/06/27 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
python采用requests库模拟登录和抓取数据的简单示例
2014/07/05 Python
python利用有道翻译实现"语言翻译器"的功能实例
2017/11/14 Python
TensorFlow实现随机训练和批量训练的方法
2018/04/28 Python
Python使用sqlalchemy模块连接数据库操作示例
2019/03/13 Python
python实现处理mysql结果输出方式
2020/04/09 Python
关于HTML5语义标签的实践(blog页面)
2016/07/12 HTML / CSS
W Concept美国:精选全球独立设计师
2017/02/22 全球购物
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
苹果Mac升级:MacSales.com
2017/11/20 全球购物
DJI全球:DJI Global
2021/03/15 全球购物
外贸业务员岗位职责
2013/11/24 职场文书
应届毕业生个人求职信范文
2014/01/29 职场文书
简历的自我评价范文
2014/02/04 职场文书
中标通知书范本
2015/04/17 职场文书
无房证明样本
2015/06/17 职场文书
行为习惯主题班会
2015/08/14 职场文书
三下乡活动心得体会
2016/01/23 职场文书
vue3中的组件间通信
2021/03/31 Vue.js
python 调用js的四种方式
2021/04/11 Python
Python 快速验证代理IP是否有效的方法实现
2021/07/15 Python
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android