Python中集合的内建函数和内建方法学习教程


Posted in Python onAugust 19, 2015

集合内建函数和内建方法
(1)标准类型函数
       len():把集合作为参数传递给内建函数 len(),返回集合的基数(或元素的个数)。
(2)集合类型工厂函数
       set()和 frozenset()工厂函数分别用来生成可变和不可变的集合。如果不提供任何参数,默认会生成空集合。如果提供一个参数,则该参数必须是可迭代的,即一个序列或迭代器或支持迭代的一个对象,例如一个文件或一个字典。
(3)方法(所有的集合方法)
s.issubset(t)                  如果s是t的子集,则返回True,否则返回False
s.issuperset(t)               如果t是s的超集,则返回True,否则返回False
s.union(t)                       返回一个新集合,该集合是s和t的并集
s.intersection(t)            返回一个新集合,该集合是s和t的交集
s.difference(t)               返回一个新集合,该集合是 s 的成员,但不是 t 的成员
s.symmetric_difference(t)     返回一个新集合,该集合是s或t的成员,但不是s和t共有的成员
s.copy()                         返回一个新集合,它是集合s的浅复制
       内建方法copy() 没有等价的操作符。和同名的字典方法一样,copy()方法比用像set()、frozenset()或dict()这样的工厂方法复制对象的副本要快。
(4)方法(仅适用于可变集合)

可变集合类型的方法:

Python中集合的内建函数和内建方法学习教程

演示实例:
一、集合类型方法

Python中集合的内建函数和内建方法学习教程

>>> s = set('cheeseshop')
>>> t = set('bookshop')
>>> s
set(['c', 'e', 'h', 'o', 'p', 's'])
>>> t
set(['b', 'h', 'k', 'o', 'p', 's'])
>>> s.issubset(t)
False
>>> s.issuperset(t)
False
>>> s.union(t)
set(['c', 'b', 'e', 'h', 'k', 'o', 'p', 's'])
>>> s.intersection(t)
set(['h', 's', 'o', 'p'])
>>> s.difference(t)
set(['c', 'e'])
>>> s.symmetric_difference(t)
set(['b', 'e', 'k', 'c'])
>>> s.copy()
set(['p', 'c', 'e', 'h', 's', 'o'])

 

二、可变集合类型的方法

1、s.update(t)——用t中的元素修改s,即s现在包含s或t的成员。

>>> s.update(t)
>>> s
set(['c', 'b', 'e', 'h', 'k', 'o', 'p', 's'])

 

2、s.intersection_update(t)——s中的成员是共同属于s和t中的元素。

>>> s = set('cheeseshop')
>>> t = set('bookshop')
>>> s.intersection_update(t)
>>> s
set(['h', 's', 'o', 'p'])

3、s.difference_update(t)——s中的成员是属于s但不包含在t中的元素。

>>> s = set('cheeseshop')
>>> t = set('bookshop')
>>> s.difference_update(t)
>>> s
set(['c', 'e'])

4、s.symmetric_difference_update(t)——s中的成员更新为那些包含在s或t中,但不是s和t共有的元素。

>>> s = set('cheeseshop')
>>> t = set('bookshop')
>>> s.symmetric_difference_update(t)
>>> s
set(['c', 'b', 'e', 'k'])

5、s.add(obj)——在集合s中添加对象obj。

>>> s.add('o')
>>> s
set(['c', 'b', 'e', 'k', 'o'])

6、s.remove(obj)——从集合s中删除对象obj,如果obj不是集合s中的元素(obj not in s),将引发KeyError。

<p>>>> s.remove('b')
>>> s
set(['c', 'e', 'k', 'o'])
>>> s.remove('a')</p><p>Traceback (most recent call last):
 File "<pyshell#53>", line 1, in <module>
  s.remove('a')
KeyError: 'a'
</p>

7、s.discard(obj)——如果obj是集合s中的元素,从集合s中删除对象obj。

>>> s.discard('a')
>>> s
set(['c', 'e', 'k', 'o'])
>>> s.discard('e')
>>> s
set(['c', 'k', 'o'])

8、s.pop()——删除集合是中的任意一个对象,并返回它。

>>> s.pop()
'c'
>>> s
set(['k', 'o'])

9、s.clear()——删除集合s中的所有元素。

>>> s.clear()
>>> s
set([])
Python 相关文章推荐
python使用在线API查询IP对应的地理位置信息实例
Jun 01 Python
python插入排序算法实例分析
Jul 03 Python
使用Python导出Excel图表以及导出为图片的方法
Nov 07 Python
django+echart绘制曲线图的方法示例
Nov 26 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
Feb 18 Python
使用Python获取当前工作目录和执行命令的位置
Mar 09 Python
Python3.x+pyqtgraph实现数据可视化教程
Mar 14 Python
python自动脚本的pyautogui入门学习
Apr 01 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
Jun 24 Python
python爬虫使用正则爬取网站的实现
Aug 03 Python
PyCharm最新激活码PyCharm2020.2.3有效
Nov 18 Python
Python中字符串对象语法分享
Feb 24 Python
深入解析Python中的集合类型操作符
Aug 19 #Python
Python中的集合类型知识讲解
Aug 19 #Python
深入理解Python中字典的键的使用
Aug 19 #Python
详解Python中映射类型的内建函数和工厂函数
Aug 19 #Python
详解Python中映射类型(字典)操作符的概念和使用
Aug 19 #Python
Python中字典的基础知识归纳小结
Aug 19 #Python
Python在Windows和在Linux下调用动态链接库的教程
Aug 18 #Python
You might like
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
php学习笔记之 函数声明
2011/06/09 PHP
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
phpQuery占用内存过多的处理方法
2013/11/13 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
基于angular-utils-ui-breadcrumbs使用心得(分享)
2017/11/03 Javascript
禁止弹窗中蒙层底部页面跟随滚动的几种方法
2017/12/07 Javascript
vue-cli配置flexible过程详解
2019/07/04 Javascript
nodejs实现UDP组播示例方法
2019/11/04 NodeJs
微信小程序实现Swiper轮播图效果
2019/11/22 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
js实现点击烟花特效
2020/10/14 Javascript
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python脚本实现自动发带图的微博
2016/04/27 Python
Python实现字符串的逆序 C++字符串逆序算法
2020/05/28 Python
Python创建普通菜单示例【基于win32ui模块】
2018/05/09 Python
vue.js实现输入框输入值内容实时响应变化示例
2018/07/07 Python
python 分离文件名和路径以及分离文件名和后缀的方法
2018/10/21 Python
在python plt图表中文字大小调节的方法
2019/07/08 Python
django框架模板语言使用方法详解
2019/07/18 Python
Python字典推导式将cookie字符串转化为字典解析
2019/08/10 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
用python对excel查重
2020/12/07 Python
css3 transform导致子元素固定定位变成绝对定位的方法
2020/03/06 HTML / CSS
Vision Direct比利时:在线订购隐形眼镜
2019/08/27 全球购物
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
消防器材管理制度
2014/01/28 职场文书
幼儿园儿童节主持词
2014/03/21 职场文书
工会换届选举方案
2014/05/21 职场文书
人事主管岗位职责说明书
2014/07/30 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
党员学习新党章思想汇报
2014/10/25 职场文书
养成教育工作总结
2015/08/13 职场文书