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中requests模块的使用方法
Apr 08 Python
Python WXPY实现微信监控报警功能的代码
Oct 20 Python
python IDLE 背景以及字体大小的修改方法
Jul 12 Python
在pycharm中显示python画的图方法
Aug 31 Python
Django中自定义模型管理器(Manager)及方法
Sep 23 Python
Django 实现xadmin后台菜单改为中文
Nov 15 Python
Python使用qrcode二维码库生成二维码方法详解
Feb 17 Python
python实现拼图小游戏
Feb 22 Python
python 链接sqlserver 写接口实例
Mar 11 Python
python字典与json转换的方法总结
Dec 28 Python
Pygame Event事件模块的详细示例
Nov 17 Python
利用Python实时获取steam特惠游戏数据
Jun 25 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
用文本文件制作留言板提示(上)
2006/10/09 PHP
解析PHP中常见的mongodb查询操作
2013/06/20 PHP
PHP+Ajax无刷新带进度条图片上传示例
2017/02/08 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
PHP的静态方法与普通方法用法实例分析
2019/09/26 PHP
分享一个自定义的console类 让你不再纠结JS中的调试代码的兼容
2012/04/20 Javascript
JavaScript实现拼音排序的方法
2012/11/20 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
javascript快速排序算法详解
2014/09/17 Javascript
深入理解jQuery事件绑定
2016/06/02 Javascript
javascript使用闭包模拟对象的私有属性和方法
2016/10/05 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
JavaScript中undefined和null的区别
2017/05/03 Javascript
浅谈Node 异步IO和事件循环
2019/05/05 Javascript
nodejs提示:cross-device link not permitted, rename错误的解决方法
2019/06/10 NodeJs
layui表单验证select下拉框实现验证的方法
2019/09/05 Javascript
CountUp.js数字滚动插件使用方法详解
2019/10/17 Javascript
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
2020/06/02 jQuery
[04:37]DOTA2英雄梦之声Vol20发条
2014/06/20 DOTA
Python3实现的腾讯微博自动发帖小工具
2013/11/11 Python
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
python异常和文件处理机制详解
2016/07/19 Python
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
rabbitmq(中间消息代理)在python中的使用详解
2017/12/14 Python
python框架django项目部署相关知识详解
2019/11/04 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
如何利用python检测图片是否包含二维码
2020/10/15 Python
五种Python转义表示法
2020/11/27 Python
留学推荐信中文范文三篇
2014/01/25 职场文书
文明家庭先进事迹材料
2014/05/14 职场文书
教师节学生演讲稿
2014/09/03 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
我的生日感言
2015/08/03 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书
详解Golang如何优雅的终止一个服务
2022/03/21 Golang