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 字符串格式化代码
Mar 17 Python
使用Python生成随机密码的示例分享
Feb 18 Python
Python的Flask框架标配模板引擎Jinja2的使用教程
Jul 12 Python
详解Python:面向对象编程
Apr 10 Python
连接pandas以及数组转pandas的方法
Jun 28 Python
python实现通过队列完成进程间的多任务功能示例
Oct 28 Python
Python使用turtle库绘制小猪佩奇(实例代码)
Jan 16 Python
TensorFlow实现打印每一层的输出
Jan 21 Python
python 遗传算法求函数极值的实现代码
Feb 11 Python
基于Python测试程序是否有错误
May 16 Python
python seaborn heatmap可视化相关性矩阵实例
Jun 03 Python
通过代码实例解析Pytest运行流程
Aug 20 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
全国FM电台频率大全 - 20 广西省
2020/03/11 无线电
分享PHP header函数使用教程
2013/09/05 PHP
php二维数组用键名分组相加实例函数
2013/11/06 PHP
PHP模板引擎Smarty的缓存使用总结
2014/04/24 PHP
php实现随机生成易于记忆的密码
2015/06/19 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
php实现等比例压缩图片
2018/07/26 PHP
编写跨浏览器的javascript代码必备[js多浏览器兼容写法]
2008/10/29 Javascript
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
2013/04/02 Javascript
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
jQuery scrollFix滚动定位插件
2015/04/01 Javascript
jquery+css实现的红色线条横向二级菜单效果
2015/08/22 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
深入理解JavaScript中Ajax
2016/08/02 Javascript
JS中如何实现复选框全选功能
2016/12/19 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
js实现头像上传并且可预览提交
2020/12/25 Javascript
python中元类用法实例
2014/10/10 Python
python实现最长公共子序列
2018/05/22 Python
Python实现的redis分布式锁功能示例
2018/05/29 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
Python学习笔记之自定义函数用法详解
2019/06/08 Python
在python tkinter界面中添加按钮的实例
2020/03/04 Python
python能自学吗
2020/06/18 Python
自学python用什么系统好
2020/06/23 Python
8种常用的Python工具
2020/08/05 Python
python中常用的数据结构介绍
2021/01/12 Python
关于运动会的口号
2014/06/07 职场文书
党的群众路线教育实践活动个人自我剖析材料
2014/10/07 职场文书
2015年信息技术教研组工作总结
2015/07/22 职场文书
2016年社区国庆节活动总结
2016/04/01 职场文书
Python OpenCV实现传统图片格式与base64转换
2021/06/13 Python
详解Python自动化之文件自动化处理
2021/06/21 Python