python set内置函数的具体使用


Posted in Python onJuly 02, 2019

set集合

  • 无序可变
  • 由不同元素组成
  • 其元素必须为可哈希的类型(通俗来说不可变类型)

集合的两种定义方式

  • 使用{} Eg:{1,2,3,4,5}
  • 使用set(可迭代类型)函数

    Eg:set("hello")

  • * 使用frozenset()函数创建不可变集合

基本函数

s = set("hello")

"""
添加一个元素到集合中
"""
s.add('b')

"""
使用可迭代对象更新集合
"""
s.update([1,2,3,4])

"""
清空集合
"""
s.clear()

"""
拷贝集合(浅拷贝)返回拷贝的副本
"""
s.copy()

"""
随机删除一个元素
如果集合为空返回KeyError异常
"""
s = set("hello")
s.pop()

"""
删除指定元素 没有该元素会报错
"""
s.remove('e')

"""
删除指定元素 没有不报错
"""
s.discard('e')

集合交、并、差、交叉补

s1 = {1,2,3,4,5}
s2 = {1,2,3,6,7}

"""
交集
>>> s1.intersection(s2)
{1, 2, 3}
>>> s1&s2
{1, 2, 3}
"""
s1.intersection(s2)
s1&s2

"""
并集
>>> s1.union(s2)
{1, 2, 3, 4, 5, 6, 7}
>>> s1|s2
{1, 2, 3, 4, 5, 6, 7}
"""
s1.union(s2)
s1|s2

"""
差集
>>> s1.difference(s2)
{4, 5}
>>> s1-s2
{4, 5}
"""
s1.difference(s2)
s1-s2


"""
交叉补集(取各自的不同部分)
>>> s1.symmetric_difference(s2)
{4, 5, 6, 7}
"""
s1.symmetric_difference(s2)

"""
其他update函数
"""
s1.difference_update(s2)
s1.intersection_update(s2)
s1.symmetric_difference_update(s2)

is判断函数

s1 = {1,2,3}
s2 = {1,2}

"""
返回两个集合是否有交集
"""
s1.isdisjoint(s2)

"""
返回s1是否为s2子集
"""
s1.issubset(s2)

"""
返回s1是否为s2父集
"""
s1.issuperset(s2)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现二分法算法实例
Feb 02 Python
python通过colorama模块在控制台输出彩色文字的方法
Mar 19 Python
Python实现PS滤镜特效之扇形变换效果示例
Jan 26 Python
django中ORM模型常用的字段的使用方法
Mar 05 Python
通过pycharm使用git的步骤(图文详解)
Jun 13 Python
Python异常模块traceback用法实例分析
Oct 22 Python
浅谈Python中的继承
Jun 19 Python
Python 列表推导式需要注意的地方
Oct 23 Python
python如何读取.mtx文件
Apr 22 Python
python爬虫请求库httpx和parsel解析库的使用测评
May 10 Python
python控制台打印log输出重复的解决方法
May 14 Python
pytorch分类模型绘制混淆矩阵以及可视化详解
Apr 07 Python
ZABBIX3.2使用python脚本实现监控报表的方法
Jul 02 #Python
浅谈python 中类属性共享的问题
Jul 02 #Python
如何通过Python实现标签云算法
Jul 02 #Python
对python特殊函数 __call__()的使用详解
Jul 02 #Python
对python 调用类属性的方法详解
Jul 02 #Python
python算法题 链表反转详解
Jul 02 #Python
python输入多行字符串的方法总结
Jul 02 #Python
You might like
PHP使用memcache缓存技术提高响应速度的方法
2014/12/26 PHP
今天你说520了吗?不仅有php表白书还有java表白神器
2016/05/20 PHP
laravel5.6中的外键约束示例
2019/10/23 PHP
json跟xml的对比分析
2008/06/10 Javascript
jQuery使用之设置元素样式用法实例
2015/01/19 Javascript
Node.js程序中的本地文件操作用法小结
2016/03/06 Javascript
浏览器兼容的JS写法总结
2016/04/27 Javascript
微信小程序  wx.request合法域名配置详解
2016/11/23 Javascript
jQuery联动日历的实例解析
2016/12/02 Javascript
Vue.js学习笔记之修饰符详解
2017/07/25 Javascript
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
AngularJS使用ng-repeat遍历二维数组元素的方法详解
2017/11/11 Javascript
NodeJS爬虫实例之糗事百科
2017/12/14 NodeJs
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
python使用心得之获得github代码库列表
2014/06/25 Python
Python写的PHPMyAdmin暴力破解工具代码
2014/08/06 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
2019/05/05 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
python百行代码自制电脑端网速悬浮窗的实现
2020/05/12 Python
一道SQL面试题
2012/12/31 面试题
说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
2013/04/07 面试题
材料化学应届生求职信
2013/10/09 职场文书
中专生的个人自我评价
2013/12/11 职场文书
小班秋游活动方案
2014/02/22 职场文书
英语教师自荐信
2014/05/26 职场文书
从事会计工作年限证明
2015/06/23 职场文书
教师节校长致辞
2015/07/31 职场文书
Python机器学习之决策树和随机森林
2021/07/15 Javascript
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers
Nginx代理Redis哨兵主从配置的实现
2022/07/15 Servers