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实现把utf-8格式的文件转换成gbk格式的文件
Jan 22 Python
在Django的视图中使用数据库查询的方法
Jul 16 Python
修复 Django migration 时遇到的问题解决
Jun 14 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
Feb 13 Python
PowerBI和Python关于数据分析的对比
Jul 11 Python
讲解Python3中NumPy数组寻找特定元素下标的两种方法
Aug 04 Python
解决python web项目意外关闭,但占用端口的问题
Dec 17 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
Dec 25 Python
python如何使用代码运行助手
Jul 03 Python
Python虚拟环境的创建和使用详解
Sep 07 Python
Python安装第三方库攻略(pip和Anaconda)
Oct 15 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
Mar 03 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 strtr() 函数使用说明
2008/11/21 PHP
php中CI操作多个数据库的代码
2012/07/05 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
PHP使用递归生成文章树
2015/04/21 PHP
PHP中is_dir()函数使用指南
2015/05/08 PHP
CI框架实现cookie登陆的方法详解
2016/05/18 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
JavaScript异步编程Promise模式的6个特性
2014/04/03 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
最流行的Node.js精简型和全栈型开发框架介绍
2015/02/26 Javascript
理解AngularJs指令
2015/12/10 Javascript
原生js实现放大镜
2017/02/20 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
node下使用UglifyJS压缩合并JS文件的方法
2018/03/07 Javascript
Angular 5.x 学习笔记之Router(路由)应用
2018/04/08 Javascript
JS使用正则表达式获取小括号、中括号及花括号内容的方法示例
2018/06/01 Javascript
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
js实现全选和全不选功能
2020/07/28 Javascript
vue.js+element 默认提示中英文操作
2020/11/11 Javascript
浅谈python中requests模块导入的问题
2018/05/18 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
2019/07/03 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
餐饮业创业计划书范文
2014/01/06 职场文书
股东授权委托书
2014/10/15 职场文书
优秀班组事迹材料
2014/12/24 职场文书
二年级学生期末评语
2014/12/26 职场文书
2015年行政工作总结范文
2015/04/09 职场文书
2015年四年级班主任工作总结
2015/10/22 职场文书