Python set常用操作函数集锦


Posted in Python onNovember 15, 2017

定义

set是一个无序且不重复的元素集合。

集合对象是一组无序排列的可哈希的值,集合成员可以做字典中的键。集合支持用in和not in操作符检查成员,由len()内建函数得到集合的基数(大小), 用 for 循环迭代集合的成员。但是因为集合本身是无序的,不可以为集合创建索引或执行切片(slice)操作,也没有键(keys)可用来获取集合中元素的值。

set和dict一样,只是没有value,相当于dict的key集合,由于dict的key是不重复的,且key是不可变对象因此set也有如下特性:

  1. 不重复
  2. 元素为不可变对象

python提供了常用的数据结构,其中之一就是set,python中的set是不支持索引的、值不能重复、无需插入的容器。

简单记录下set常用的操作函数:

1.新建一个set:

set("Hello"),这样会转成单个字符的值进行插入,结果是'H','e','l','o','l'因为重复只能插入一次。

2.增加一个元素:

add()用于增加一个元素值,

update([]),用于增加多个元素值,参数为list,注意如果用add增加多个值,会报参数类型错误。

3.删除一个元素:

remove()用于删除一个set中的元素,这个值在set中必须存在,如果不存在的话,会引发KeyError错误。

discard()用于删除一个set中的元素,这个值不必一定存在,不存在的情况下删除也不会触发错误。

4.随机删除函数:

set提供了一个pop()函数,这个函数随机返回一个元素值,然后把这个值删除,如果set为空,调用这个函数会返回Key错误。

5.清空函数:

clear(),将set全部清空。

6.测试单个元素在集合内是否存在:

in 或者 not in 如果需要判断一个值在集合内是否存在,in就能满足要求,例如2 in set_num 如果存在则返回True,否则返回False。

7.测试两个集合是否包含,子集操作:

issubset和issuperset,

s1.issubset(s2)  :测试是否 s1 中的每一个元素都在 s2 中,运算符操作为 s1<=s2;

s2.issuperset(s1)  :测试是否 s1 中的每一个元素都在 s2 中,运算符操作为 s1>=s2;//注意是s2调用,参数为s1.

8.集合的并集:

union s1.union(s2)  :返回一个新集合,新集合包含s1,s2的所有元素,等价的运算符为 | 。

9.集合的交集:

intersection,s1.intersection(s2),返回s1和s2中相同部分

10.其他操作:

s1.difference(s2):包含s1中有,但是s2没有的元素的集合。

s1symmetric_difference(s2):包含s1和s2中不相同的元素的集合。

总结

以上所述是小编给大家介绍的Python set常用操作函数集锦,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
线程和进程的区别及Python代码实例
Feb 04 Python
python获取android设备的GPS信息脚本分享
Mar 06 Python
基于Python中求和函数sum的用法详解
Jun 28 Python
Python3实现腾讯云OCR识别
Nov 27 Python
python实现趣味图片字符化
Apr 30 Python
Django应用程序入口WSGIHandler源码解析
Aug 05 Python
应用OpenCV和Python进行SIFT算法的实现详解
Aug 21 Python
Pandas数据离散化原理及实例解析
Nov 16 Python
python实现tail实时查看服务器日志示例
Dec 24 Python
Python3列表List入门知识附实例
Feb 09 Python
tensorflow 实现自定义梯度反向传播代码
Feb 10 Python
Python脚本如何在bilibili中查找弹幕发送者
Jun 04 Python
python机器学习库常用汇总
Nov 15 #Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
Nov 15 #Python
给你选择Python语言实现机器学习算法的三大理由
Nov 15 #Python
Python数据结构之顺序表的实现代码示例
Nov 15 #Python
Django中ORM表的创建和增删改查方法示例
Nov 15 #Python
11月编程语言排行榜 Python逆袭C#上升到第4
Nov 15 #Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
Nov 15 #Python
You might like
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
延长phpmyadmin登录时间的方法
2011/02/06 PHP
腾讯QQ微博API接口获取微博内容
2013/10/30 PHP
Codeigniter校验ip地址的方法
2015/03/21 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
Code: write(s,d) 输出连续字符串
2007/08/19 Javascript
javascript Keycode对照表
2009/10/24 Javascript
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
2010/06/19 Javascript
实现变速回到顶部的JavaScript代码
2011/05/09 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
javascript控制在光标位置插入文字适合表情的插入
2014/06/09 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
完美实现bootstrap分页查询
2015/12/09 Javascript
Three.js学习之正交投影照相机
2016/08/01 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
移动端js图片查看器
2016/11/17 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
Windows下Node爬虫神器Puppeteer安装记
2019/01/09 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
JS事件流与事件处理程序实例分析
2019/08/16 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python实现的生成word文档功能示例
2019/08/23 Python
深入了解python中元类的相关知识
2019/08/29 Python
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
法国购买二手电子产品网站:Asgoodasnew
2020/03/27 全球购物
成人毕业生自我鉴定
2013/10/18 职场文书
关于毕业的中学校园广播稿
2014/01/26 职场文书
印刷技术专业自荐信
2014/09/18 职场文书
2014年党的群众路线学习心得体会
2014/11/05 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
小学数学新课改心得体会
2016/01/22 职场文书
Golang中channel的原理解读(推荐)
2021/10/16 Golang