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爬虫数据处理(详解)
Jun 10 Python
Python函数式编程
Jul 20 Python
python使用socket创建tcp服务器和客户端
Apr 12 Python
浅析PHP与Python进行数据交互
May 15 Python
Python利用公共键如何对字典列表进行排序详解
May 19 Python
numpy判断数值类型、过滤出数值型数据的方法
Jun 09 Python
Python Django 页面上展示固定的页码数实现代码
Aug 21 Python
从numpy数组中取出满足条件的元素示例
Nov 26 Python
解决pyPdf和pyPdf2在合并pdf时出现异常的问题
Apr 03 Python
python集合能干吗
Jul 19 Python
python和go语言的区别是什么
Jul 20 Python
正确的理解和使用Django信号(Signals)
Apr 14 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
第四节--构造函数和析构函数
2006/11/16 PHP
php中serialize序列化与json性能测试的示例分析
2013/04/27 PHP
php ImageMagick windows下安装教程
2015/01/26 PHP
php+ajax实现的点击浏览量加1
2015/04/16 PHP
Smarty变量用法详解
2016/05/11 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
javascript一元操作符(递增、递减)使用示例
2013/08/07 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
2015/04/01 Javascript
jQuery+AJAX实现无刷新下拉加载更多
2015/07/03 Javascript
浅谈JavaScript中的作用域和闭包问题
2015/07/07 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
JS实现同一个网页布局滑动门和TAB选项卡实例
2015/09/23 Javascript
JavaScript 经典实例日常收集整理(常用经典)
2016/03/30 Javascript
jQuery基于扩展实现的倒计时效果
2016/05/14 Javascript
javascript实现无法关闭的弹框
2016/11/27 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
2017/03/21 Javascript
nodeJS实现路由功能实例代码
2017/06/08 NodeJs
React服务端渲染(总结)
2017/07/01 Javascript
在vue项目中引用Antv G2,以饼图为例讲解
2020/10/28 Javascript
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
详解python3中socket套接字的编码问题解决
2017/07/01 Python
浅述python中深浅拷贝原理
2018/09/18 Python
python画柱状图--不同颜色并显示数值的方法
2018/12/13 Python
对Python3之进程池与回调函数的实例详解
2019/01/22 Python
Python3数字求和的实例
2019/02/19 Python
完美解决ARIMA模型中plot_acf画不出图的问题
2020/06/04 Python
师范毕业生求职自荐信
2013/09/25 职场文书
大四学年自我鉴定
2013/11/13 职场文书
工厂保安员岗位职责
2014/01/31 职场文书
委托书怎么写
2014/07/31 职场文书
新郎接新娘保证书
2015/05/08 职场文书
追悼会悼词大全
2015/06/23 职场文书
python中24小时制转换为12小时制的方法
2021/06/18 Python
MongoDB安装使用并实现Python操作数据库
2021/06/28 MongoDB