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多线程编程方式分析示例详解
Dec 06 Python
python下paramiko模块实现ssh连接登录Linux服务器
Jun 03 Python
python生成密码字典的方法
Jul 06 Python
Python爬取qq空间说说的实例代码
Aug 17 Python
python 实现矩阵按对角线打印
Nov 29 Python
Python异步编程之协程任务的调度操作实例分析
Feb 01 Python
python如何提取英语pdf内容并翻译
Mar 03 Python
Pyspark获取并处理RDD数据代码实例
Mar 27 Python
导致python中import错误的原因是什么
Jul 01 Python
基于selenium及python实现下拉选项定位select
Jul 22 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
Aug 17 Python
pytest进阶教程之fixture函数详解
Mar 29 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
新版mysql+apache+php Linux安装指南
2006/10/09 PHP
php中判断字符串是否全是中文或含有中文的实现代码
2011/09/16 PHP
PHP封装的MSSql操作类完整实例
2016/05/26 PHP
php微信开发自定义菜单
2016/08/27 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
jQuery 选择表格(table)里的行和列及改变简单样式
2012/12/15 Javascript
Jquery easyui 下loaing效果示例代码
2013/08/12 Javascript
jquery的ajax跨域请求原理和示例
2014/05/08 Javascript
如何让浏览器支持jquery ajax load 前进、后退功能
2014/06/12 Javascript
laytpl 精致巧妙的JavaScript模板引擎
2014/08/29 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
Bootstrap项目实战之子栏目资讯内容
2016/04/25 Javascript
js ajaxfileupload.js上传报错的解决方法
2016/05/05 Javascript
jQuery实现鼠标选中文字后弹出提示窗口效果【附demo源码】
2016/09/05 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
Koa日志中间件封装开发详解
2019/03/09 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
python多线程http下载实现示例
2013/12/30 Python
python标准算法实现数组全排列的方法
2015/03/17 Python
python魔法方法-自定义序列详解
2016/07/21 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
2018/02/18 Python
python3.7 的新特性详解
2019/07/25 Python
用Python将Excel数据导入到SQL Server的例子
2019/08/24 Python
python自动点赞功能的实现思路
2020/02/26 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
2020/06/08 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
个人求职信范文分享
2014/01/06 职场文书
感恩教育活动总结
2014/05/05 职场文书
关于运动会的广播稿
2014/09/22 职场文书
自查自纠工作总结
2014/10/15 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL
15个值得收藏的JavaScript函数
2021/09/15 Javascript