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 05 Python
浅谈python新手中常见的疑惑及解答
Jun 14 Python
python+opencv实现的简单人脸识别代码示例
Nov 14 Python
Python数据分析库pandas基本操作方法
Apr 08 Python
matplotlib savefig 保存图片大小的实例
May 24 Python
让Django支持Sql Server作后端数据库的方法
May 29 Python
ubuntu16.04制作vim和python3的开发环境
Sep 23 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
Python从list类型、range()序列简单认识类(class)【可迭代】
May 31 Python
Python3如何判断三角形的类型
Apr 12 Python
python-地图可视化组件folium的操作
Dec 14 Python
基于PyQT5制作一个桌面摸鱼工具
Feb 15 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扩展图文教程
2008/12/12 PHP
php设计模式 Template (模板模式)
2011/06/26 PHP
php检测url是否存在的方法
2015/04/14 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
2016/05/13 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
建立良好体验度的Web注册系统ajax
2007/07/09 Javascript
Discuz! 6.1_jQuery兼容问题
2008/09/23 Javascript
防止jQuery ajax Load使用缓存的方法小结
2014/02/22 Javascript
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
PHP 数组current和next用法分享
2015/03/05 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
2015/12/08 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
2016/03/30 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
对angularJs中ng-style动态改变样式的实例讲解
2018/09/30 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
Vue 用Vant实现时间选择器的示例代码
2019/10/25 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
两个使用Python脚本操作文件的小示例分享
2015/08/27 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
利用Python实现kNN算法的代码
2019/08/16 Python
Python实现点云投影到平面显示
2020/01/18 Python
Mac中PyCharm配置Anaconda环境的方法
2020/03/04 Python
出纳员岗位职责风险
2014/03/06 职场文书
硕士生找工作求职信
2014/07/05 职场文书
学校交通安全责任书
2014/08/25 职场文书
反四风个人对照检查材料思想汇报
2014/09/25 职场文书
2014年图书馆个人工作总结
2014/12/18 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
团支部书记竞选稿
2015/11/21 职场文书
Python中基础数据类型 set集合知识点总结
2021/08/02 Python
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python