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常用的文件及文件路径、目录操作方法汇总介绍
May 21 Python
Python类的用法实例浅析
May 27 Python
尝试使用Python多线程抓取代理服务器IP地址的示例
Nov 09 Python
Python 2.x如何设置命令执行的超时时间实例
Oct 19 Python
matplotlib给子图添加图例的方法
Aug 03 Python
python日志logging模块使用方法分析
May 23 Python
对Django外键关系的描述
Jul 26 Python
python rsync服务器之间文件夹同步脚本
Aug 29 Python
Python使用Turtle库绘制一棵西兰花
Nov 23 Python
tensorflow指定GPU与动态分配GPU memory设置
Feb 03 Python
使用Python实现批量ping操作方法
May 06 Python
详解用selenium来下载小姐姐图片并保存
Jan 26 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
PHP求小于1000的所有水仙花数的代码
2012/01/10 PHP
php模板函数 正则实现代码
2012/10/15 PHP
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
ie 调试javascript的工具
2009/04/29 Javascript
javascript中使用css需要注意的地方小结
2010/09/01 Javascript
网页实时显示服务器时间和javscript自运行时钟
2014/06/09 Javascript
JavaScript函数详解
2014/11/17 Javascript
原生js的数组除重复简单实例
2016/05/24 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
Python正则表达式教程之二:捕获篇
2017/03/02 Python
Python读取properties配置文件操作示例
2018/03/29 Python
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
解决python 上传图片限制格式问题
2019/10/30 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
网络信息管理员岗位职责
2014/01/05 职场文书
《盘古开天地》教学反思
2014/02/28 职场文书
小学语文国培感言
2014/03/04 职场文书
校园联欢晚会主持词
2014/03/17 职场文书
售后服务承诺书怎么写
2014/05/21 职场文书
技术股份合作协议书
2014/10/05 职场文书
计算机实训报告总结
2014/11/05 职场文书
风之谷观后感
2015/06/11 职场文书
党员发展大会主持词
2015/07/03 职场文书
2015七夕情人节宣传语
2015/07/14 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书
导游词之扬州大明寺
2019/10/09 职场文书
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
2021/07/01 MySQL
mysql中数据库覆盖导入的几种方式总结
2022/03/25 MySQL
uniapp开发打包多端应用完整方法指南
2022/12/24 Javascript