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 with的用法
Aug 22 Python
在Python中使用SimpleParse模块进行解析的教程
Apr 11 Python
python实现音乐下载器
Apr 15 Python
Python实现读取字符串按列分配后按行输出示例
Apr 17 Python
使用Django开发简单接口实现文章增删改查
May 09 Python
python Qt5实现窗体跟踪鼠标移动
Dec 13 Python
pytorch 实现打印模型的参数值
Dec 30 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
Jan 08 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
Sep 22 Python
python 日志模块 日志等级设置失效的解决方案
May 26 Python
解决Python import .pyd 可能遇到路径的问题
Mar 04 Python
Pillow图像处理库安装及使用
Apr 12 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数组循环操作详细介绍 附实例代码
2013/02/03 PHP
PHP基础学习之流程控制的实现分析
2013/04/28 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
使用PHPMailer实现邮件发送代码分享
2014/10/23 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
2010/06/21 Javascript
js实现一个省市区三级联动选择框代码分享
2013/03/06 Javascript
JavaScript中判断原生函数检查function是否是原生代码
2014/09/09 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
基于node实现websocket协议
2016/04/25 Javascript
AngularJS实用基础知识_入门必备篇(推荐)
2017/07/10 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
详解vue 2.6 中 slot 的新用法
2019/07/09 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
如何在JavaScript中正确处理变量
2020/12/25 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
Python3中简单的文件操作及两个简单小实例分享
2017/06/18 Python
如何使用Python的Requests包实现模拟登陆
2018/04/27 Python
python中的线程threading.Thread()使用详解
2019/12/17 Python
突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述
2013/01/31 HTML / CSS
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
怎样声明接口
2014/09/19 面试题
.net C#面试题
2012/08/28 面试题
创联软件面试题笔试题
2012/10/07 面试题
技术副厂长岗位职责
2013/12/26 职场文书
小学毕业典礼主持词
2014/03/27 职场文书
全国优秀教师事迹材料
2014/08/26 职场文书
学术会议邀请函
2015/01/30 职场文书
财务统计员岗位职责
2015/04/14 职场文书
用电申请报告范文
2015/05/18 职场文书
教育读书笔记
2015/07/02 职场文书
python之django路由和视图案例教程
2021/07/26 Python
全新239军机修复记
2022/04/05 无线电
Android Gradle 插件自定义Plugin实现注意事项
2022/06/16 Java/Android