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 BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
Python中对元组和列表按条件进行排序的方法示例
Nov 10 Python
关于python的list相关知识(推荐)
Aug 30 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
Apr 19 Python
python线程池threadpool使用篇
Apr 27 Python
Python学习笔记之列表推导式实例分析
Aug 13 Python
Django发送邮件功能实例详解
Sep 02 Python
python 实现字符串下标的输出功能
Feb 13 Python
利用PyQt中的QThread类实现多线程
Feb 18 Python
Keras 实现加载预训练模型并冻结网络的层
Jun 15 Python
详解Python 最短匹配模式
Jul 29 Python
基于django和dropzone.js实现上传文件
Nov 24 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密码生成类实例
2014/09/24 PHP
php防止恶意刷新与刷票的方法
2014/11/21 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
2017/10/23 PHP
用js实现预览待上传的本地图片
2007/03/15 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
jquery中:input和input的区别分析
2011/07/13 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
原生JS轮播图插件
2017/02/09 Javascript
详谈jQuery.load()和Jsp的include的区别
2017/04/12 jQuery
浅谈Vue内置component组件的应用场景
2018/03/27 Javascript
JS中Promise函数then的奥秘探究
2018/07/30 Javascript
Angular5中状态管理的实现
2018/09/03 Javascript
vue中的watch监听数据变化及watch中各属性的详解
2018/09/11 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
Python 基于Twisted框架的文件夹网络传输源码
2016/08/28 Python
简单谈谈python中的lambda表达式
2018/01/19 Python
tensorflow学习笔记之mnist的卷积神经网络实例
2018/04/15 Python
Python3爬虫爬取英雄联盟高清桌面壁纸功能示例【基于Scrapy框架】
2018/12/05 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
如何使用python把ppt转换成pdf
2019/06/29 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
python批量处理多DNS多域名的nslookup解析实现
2020/06/28 Python
详解Python爬虫爬取博客园问题列表所有的问题
2021/01/18 Python
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
物流专业毕业生推荐信范文
2013/11/18 职场文书
《陶罐和铁罐》教学反思
2014/02/19 职场文书
机电一体化专业毕业生自荐信
2014/06/19 职场文书
幼儿教师个人总结
2015/02/05 职场文书
2015年大学生实习评语
2015/03/25 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
Mysql基础之常见函数
2021/04/22 MySQL
MySQL 使用事件(Events)完成计划任务
2021/05/24 MySQL
Python之基础函数案例详解
2021/08/30 Python
Python编程编写完善的命令行工具
2021/09/15 Python
为什么RedisCluster设计成16384个槽
2021/09/25 Redis