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模拟登录百度代码分享(获取百度贴吧等级)
Dec 27 Python
python进程管理工具supervisor的安装与使用教程
Sep 05 Python
快速了解python leveldb
Jan 18 Python
python实现冒泡排序算法的两种方法
Mar 10 Python
浅谈python中字典append 到list 后值的改变问题
May 04 Python
Python3中的json模块使用详解
May 05 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
Jul 04 Python
django+xadmin+djcelery实现后台管理定时任务
Aug 14 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
Feb 10 Python
Python request post上传文件常见要点
Nov 20 Python
基于Python中Remove函数的用法讨论
Dec 11 Python
Python数据可视化之Seaborn的安装及使用
Apr 19 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
基于PHP5魔术常量与魔术方法的详解
2013/06/13 PHP
PHP反向代理类代码
2014/08/15 PHP
PHP里8个鲜为人知的安全函数分析
2014/12/09 PHP
PHP中常见的缓存技术实例分析
2015/09/23 PHP
适用于初学者的简易PHP文件上传类
2015/10/29 PHP
php错误日志简单配置方法
2016/07/11 PHP
Yii2针对游客、用户防范规则和限制的解决方法分析
2016/10/08 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
2017/03/28 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
js获取url中的参数且参数为中文时通过js解码
2014/03/19 Javascript
使用jquery+CSS实现控制打印样式
2014/12/31 Javascript
异步安全加载javascript文件的方法
2015/07/21 Javascript
Bootstrap每天必学之栅格系统(布局)
2015/11/25 Javascript
微信小程序 倒计时组件实现代码
2016/10/24 Javascript
bootstrap警告框使用方法解析
2017/01/13 Javascript
[原创]jquery判断元素内容是否为空的方法
2018/05/04 jQuery
分享vue里swiper的一些坑
2018/08/30 Javascript
详解vue 数组和对象渲染问题
2018/09/21 Javascript
JavaScript动态检测密码强度原理及实现方法详解
2019/06/11 Javascript
基于jQuery的时间戳与日期间的转化
2019/06/21 jQuery
vue实现分页栏效果
2019/06/28 Javascript
JavaScript在web自动化测试中的作用示例详解
2019/08/25 Javascript
vue的滚动条插件实现代码
2019/09/07 Javascript
JS 事件机制完整示例分析
2020/01/15 Javascript
详细介绍Ruby中的正则表达式
2015/04/10 Python
详解Django通用视图中的函数包装
2015/07/21 Python
python开发之函数定义实例分析
2015/11/12 Python
python使用tkinter实现简单计算器
2018/01/30 Python
python读取.mat文件的数据及实例代码
2019/07/12 Python
django 简单实现登录验证给你
2019/11/06 Python
Python连接SQLite数据库并进行增册改查操作方法详解
2020/02/18 Python
佳能法国商店:Canon法国
2019/02/14 全球购物
教师党员一句话承诺
2014/03/28 职场文书
2014年转正工作总结
2014/11/08 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
小学数学教师研修日志
2015/11/13 职场文书