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中实现单例模式的三种方法
Apr 08 Python
python删除过期文件的方法
May 29 Python
Python中的with语句与上下文管理器学习总结
Jun 28 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
Dec 12 Python
Python实现一个带权无回置随机抽选函数的方法
Jul 24 Python
简单了解Django应用app及分布式路由
Jul 24 Python
Python简易版图书管理系统
Aug 12 Python
python如何调用字典的key
May 25 Python
Python WebSocket长连接心跳与短连接的示例
Nov 24 Python
python调用jenkinsAPI构建jenkins,并传递参数的示例
Dec 09 Python
Python爬虫开发与项目实战
Dec 16 Python
python中filter,map,reduce的作用
Jun 10 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过程中的一些注意点的总结
2013/10/25 PHP
php计算两个坐标(经度,纬度)之间距离的方法
2015/04/17 PHP
PHP实现加强版加密解密类实例
2015/07/29 PHP
详解php比较操作符的安全问题
2015/12/03 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
ie 处理 gif动画 的onload 事件的一个 bug
2007/04/12 Javascript
jquery获取input的value问题说明
2010/08/19 Javascript
jQuery 选择器、DOM操作、事件、动画
2010/11/25 Javascript
有趣的JavaScript数组长度问题代码说明
2011/01/20 Javascript
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
详解vue 模版组件的三种用法
2017/07/21 Javascript
javascript兼容性(实例讲解)
2017/08/15 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
JS通过位运算实现权限加解密
2018/08/14 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
在Echarts图中给坐标轴加一个标识线markLine
2020/07/20 Javascript
[03:49]DOTA2 2015国际邀请赛中国区预选赛第二日现场百态
2015/05/27 DOTA
[02:05]DOTA2完美大师赛趣味视频之看我表演
2017/11/18 DOTA
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
Python信息抽取之乱码解决办法
2017/06/29 Python
python内置数据类型之列表操作
2018/11/12 Python
Django实现基于类的分页功能
2019/10/31 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
预订从美国飞往印度的机票:MyTicketsToIndia
2017/05/19 全球购物
外贸主管求职简历的自我评价
2013/10/23 职场文书
数控技术应届生求职信
2013/11/13 职场文书
小学安全教育材料
2014/02/17 职场文书
会议通知范文
2015/04/15 职场文书
常住证明范本
2015/06/23 职场文书
老乡会致辞
2015/07/28 职场文书
学习经验交流会总结
2015/11/02 职场文书