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 检查数组元素是否存在类似PHP isset()方法
Oct 14 Python
python 接口_从协议到抽象基类详解
Aug 24 Python
Python对象属性自动更新操作示例
Jun 15 Python
Python图像处理PIL各模块详细介绍(推荐)
Jul 17 Python
python Web flask 视图内容和模板实现代码
Aug 23 Python
python编程进阶之异常处理用法实例分析
Feb 21 Python
python爬虫开发之selenium模块详细使用方法与实例全解
Mar 09 Python
DataFrame.groupby()所见的各种用法详解
Jun 14 Python
python tkinter的消息框模块(messagebox,simpledialog)
Nov 07 Python
MATLAB 如何求取离散点的曲率最大值
Apr 16 Python
Python竟然能剪辑视频
May 25 Python
pycharm部署django项目到云服务器的详细流程
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
ASP知识讲座四
2006/10/09 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
2014/06/30 PHP
利用PHP将部分内容用星号替换
2020/04/21 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
jquery ajax执行后台方法
2010/03/18 Javascript
javascript基础第一章 JavaScript与用户端
2010/07/22 Javascript
自己做的模拟模态对话框实现代码
2012/05/23 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
牛叉的Jquery——Jquery与DOM对象的互相转换及DOM的三种操作
2015/10/29 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
jQuery Mobile操作HTML5的常用函数总结
2016/05/17 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
解决vue this.$forceUpdate() 处理页面刷新问题(v-for循环值刷新等)
2018/07/26 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
使用vue脚手架(vue-cli)搭建一个项目详解
2019/05/09 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
vue(2.x,3.0)配置跨域代理
2019/11/27 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
vue中axios封装使用的完整教程
2021/03/03 Vue.js
python 列表,数组,矩阵两两转换tolist()的实例
2018/04/04 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
python爬取cnvd漏洞库信息的实例
2019/02/14 Python
Python使用matplotlib绘制三维参数曲线操作示例
2019/09/10 Python
python实现无边框进度条的实例代码
2020/12/30 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
深入浅析CSS3中的Flex布局整理
2020/04/27 HTML / CSS
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
意大利时尚精品店:Nugnes 1920
2020/02/10 全球购物
应聘销售主管的求职信
2014/04/26 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
2014年班组长工作总结
2014/11/20 职场文书
2014年基建工作总结
2014/12/12 职场文书
故宫的导游词
2015/01/31 职场文书