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 相关文章推荐
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
Jan 17 Python
Python装饰器decorator用法实例
Nov 10 Python
Python的爬虫包Beautiful Soup中用正则表达式来搜索
Jan 20 Python
Python编程之字符串模板(Template)用法实例分析
Jul 22 Python
PyQt5 在label显示的图片中绘制矩形的方法
Jun 17 Python
基于python实现把图片转换成素描
Nov 13 Python
python实现图片上添加图片
Nov 26 Python
pytorch中torch.max和Tensor.view函数用法详解
Jan 03 Python
python pycharm最新版本激活码(永久有效)附python安装教程
Sep 18 Python
Python列表解析操作实例总结
Feb 26 Python
Python之字典添加元素的几种方法
Sep 30 Python
解决python存数据库速度太慢的问题
Apr 23 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
PHP的宝库目录--PEAR
2006/10/09 PHP
php中一个完整表单处理实现代码
2011/11/10 PHP
php 网上商城促销设计实例代码
2012/02/17 PHP
php分页思路以及在ZF中的使用
2012/05/30 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
jQuery 创建Dom元素
2010/05/07 Javascript
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
JavaScript代码复用模式实例分析
2012/12/02 Javascript
怎样在JavaScript里写一个swing把数据插入数据库
2012/12/10 Javascript
JQuery DataTable删除行后的页面更新利用Ajax解决
2013/05/17 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
ECMAScript6函数剩余参数(Rest Parameters)
2015/06/12 Javascript
js+CSS实现模拟华丽的select控件下拉菜单效果
2015/09/01 Javascript
js+css简单实现网页换肤效果
2015/12/29 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
2016/05/12 Javascript
jQuery通过deferred对象管理ajax异步
2016/05/20 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
2018/08/16 Javascript
基于vue中keep-alive缓存问题的解决方法
2018/09/21 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
解决layui动态添加的元素click等事件触发不了的问题
2019/09/20 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
[45:50]完美世界DOTA2联赛PWL S3 CPG vs Forest 第二场 12.16
2020/12/17 DOTA
python实现根据月份和日期得到星座的方法
2015/03/27 Python
Django自定义分页与bootstrap分页结合
2021/02/22 Python
Appium+python自动化怎么查看程序所占端口号和IP
2019/06/14 Python
Python+Tensorflow+CNN实现车牌识别的示例代码
2019/10/11 Python
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
贝玲妃美国官方网站:Benefit美国
2016/08/28 全球购物
高山背包:High Sierra
2017/11/23 全球购物
社区安全检查制度
2014/02/03 职场文书
调研汇报材料范文
2014/08/17 职场文书
勤俭节约主题班会
2015/08/13 职场文书
2016应届毕业生实习心得体会
2015/10/09 职场文书