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的ORM框架中SQLAlchemy库的查询操作的教程
Apr 25 Python
如何优雅地处理Django中的favicon.ico图标详解
Jul 05 Python
win10系统下Anaconda3安装配置方法图文教程
Sep 19 Python
python引入不同文件夹下的自定义模块方法
Oct 27 Python
Python 获取div标签中的文字实例
Dec 20 Python
python实现网页自动签到功能
Jan 21 Python
Python容器使用的5个技巧和2个误区总结
Sep 26 Python
python实现word文档批量转成自定义格式的excel文档的思路及实例代码
Feb 21 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
Mar 02 Python
python3 中使用urllib问题以及urllib详解
Aug 03 Python
全网最细 Python 格式化输出用法讲解(推荐)
Jan 18 Python
python 下载文件的几种方式分享
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
Cappuccino 卡布其诺咖啡之制作
2021/03/03 冲泡冲煮
PHP命令Command模式用法实例分析
2018/08/08 PHP
laravel返回统一格式错误码问题
2019/11/04 PHP
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
jquery基础教程之deferred对象使用方法
2014/01/22 Javascript
基于jquery实现的图片在各种分辨率下未知的容器内上下左右居中
2014/05/11 Javascript
JavaScript实现简单的二级导航菜单实例
2015/04/15 Javascript
使用AngularJS创建自定义的过滤器的方法
2015/06/18 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
jQuery实现判断控件是否显示的方法
2017/01/11 Javascript
深入理解vue.js中$watch的oldvalue与newValue
2017/08/07 Javascript
Node.js学习教程之HTTP/2服务器推送【译】
2017/10/31 Javascript
ES6 Array常用扩展的应用实例分析
2019/06/26 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
[01:15:16]DOTA2-DPC中国联赛 正赛 Elephant vs Aster BO3 第一场 1月26日
2021/03/11 DOTA
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
Python3处理文件中每个词的方法
2015/05/22 Python
Python函数的周期性执行实现方法
2016/08/13 Python
Python yield 使用方法浅析
2017/05/20 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
python实现顺时针打印矩阵
2019/03/02 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
python如何保证输入键入数字的方法
2019/08/23 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
python使用梯度下降算法实现一个多线性回归
2020/03/24 Python
Python QTimer实现多线程及QSS应用过程解析
2020/07/11 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
python编写扎金花小程序的实例代码
2021/02/23 Python
Python中如何定义一个函数
2016/09/06 面试题
jQuery treeview树形结构应用
2021/03/24 jQuery
应聘教师求职信
2014/07/19 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
党员公开承诺书2015
2015/01/21 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
技术入股合作协议书
2016/03/21 职场文书
浅谈Python项目的服务器部署
2021/04/25 Python