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 相关文章推荐
pyenv命令管理多个Python版本
Mar 26 Python
Python+Wordpress制作小说站
Apr 14 Python
详解python之配置日志的几种方式
May 22 Python
Python网络爬虫神器PyQuery的基本使用教程
Feb 03 Python
Python数据可视化教程之Matplotlib实现各种图表实例
Jan 13 Python
使用Python检测文章抄袭及去重算法原理解析
Jun 14 Python
使用批处理脚本自动生成并上传NuGet包(操作方法)
Nov 19 Python
在pycharm中实现删除bookmark
Feb 14 Python
Python调用ffmpeg开源视频处理库,批量处理视频
Nov 16 Python
详解pycharm自动import所需的库的操作方法
Nov 30 Python
python 监控服务器是否有人远程登录(详细思路+代码)
Dec 18 Python
用python发送微信消息
Dec 21 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创建动态图像
2006/10/09 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
微信公众平台天气预报功能开发
2014/07/06 PHP
php一行代码获取文件后缀名实例分析
2014/11/12 PHP
ThinkPHP发送邮件示例代码
2016/10/08 PHP
浅谈Javascript面向对象编程
2011/11/15 Javascript
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
JavaScript数据结构与算法之集合(Set)
2016/01/29 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
js编写当天简单日历效果【实现代码】
2016/05/03 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
JavaScript中splice与slice的区别
2017/05/09 Javascript
Vue按需加载的具体实现
2017/12/02 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
js自定义trim函数实现删除两端空格功能
2018/02/09 Javascript
JavaScript执行环境及作用域链实例分析
2018/08/01 Javascript
vue3.0中的双向数据绑定方法及优缺点
2019/08/01 Javascript
如何管理Vue中的缓存页面
2021/02/06 Vue.js
[00:14]PWL:老朋友Mushi拍VLOG与中国玩家问好
2020/11/04 DOTA
Django + Uwsgi + Nginx 实现生产环境部署的方法
2018/06/20 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2019/07/08 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
美国最大的团购网站:Groupon
2016/07/23 全球购物
约瑟夫·特纳男装:Joseph Turner
2017/10/10 全球购物
在Ajax应用中信息是如何在浏览器和服务器之间传递的
2016/05/31 面试题
2014年元旦活动方案
2014/02/15 职场文书
工厂标语大全
2014/10/06 职场文书
村主任当选感言
2015/08/01 职场文书
Redis实现订单自动过期功能的示例代码
2021/05/08 Redis
浅谈CSS不规则边框的生成方案
2021/05/25 HTML / CSS
JS数组方法some、every和find的使用详情
2021/10/05 Javascript
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js
Python matplotlib绘制雷达图
2022/04/13 Python
vue elementUI批量上传文件
2022/04/26 Vue.js