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的爬虫包Beautiful Soup中用正则表达式来搜索
Jan 20 Python
使用python编写监听端
Apr 12 Python
python爱心表白 每天都是浪漫七夕!
Aug 18 Python
python语音识别实践之百度语音API
Aug 30 Python
对python的输出和输出格式详解
Dec 08 Python
PyQt5重写QComboBox的鼠标点击事件方法
Jun 25 Python
Pandas0.25来了千万别错过这10大好用的新功能
Aug 07 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
Python中有几个关键字
Jun 04 Python
Python Sqlalchemy如何实现select for update
Oct 12 Python
浅谈Python数学建模之整数规划
Jun 23 Python
总结python多进程multiprocessing的相关知识
Jun 29 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简单静态页生成过程
2008/03/27 PHP
一个简单php扩展介绍与开发教程
2010/08/19 PHP
php给一组指定关键词添加span标签的方法
2015/03/31 PHP
php中file_exists函数使用详解
2015/05/08 PHP
PHP实现简单数字分页效果
2015/07/26 PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
2017/03/16 PHP
PHP迭代与递归实现无限级分类
2017/08/28 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
php装饰者模式简单应用案例分析
2019/10/23 PHP
js取得url地址参数实例
2013/02/22 Javascript
JS加jquery简单实现标签元素的显示或隐藏
2013/09/23 Javascript
JavaScript中eval函数的问题
2016/01/31 Javascript
Javascript打印局部页面实例
2016/06/21 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
微信小程序 chooseImage选择图片或者拍照
2017/04/07 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
Vue.js鼠标悬浮更换图片功能
2017/05/17 Javascript
layui弹出层效果实现代码
2017/05/19 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
2019/02/02 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
[04:13]2014DOTA2国际邀请赛 专访DC目前形势不容乐观
2014/07/12 DOTA
[52:02]DOTA2-DPC中国联赛 正赛 Phoenix vs Dragon BO3 第二场 2月26日
2021/03/11 DOTA
Python批量重命名同一文件夹下文件的方法
2015/05/25 Python
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
Python Nose框架编写测试用例方法
2017/10/26 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
2019/04/01 Python
浅谈python 中类属性共享的问题
2019/07/02 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
Django视图类型总结
2021/02/17 Python
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
求职信范文怎么写
2014/01/29 职场文书
网络信息安全承诺书
2014/03/26 职场文书
中国梦团日活动总结
2014/07/07 职场文书
五星级酒店前台接待岗位职责
2015/04/02 职场文书
Python 的 sum() Pythonic 的求和方法详细
2021/10/16 Python