python中集合比大小方法_Python集合17个方法详解
Python 中的集合类似于数学中的集合概念,它是一组无序、不可重复数据的组合。集合用{ ...}创建,某种程度上可以把集合看作是没有值的字典。集合是Python里面非常重要的数据类型,其中的方法总共有17个,数量掌握这些方法,对数据的处理效率会大大提高,特别是在计算字符串长度,交集并集等,非常有用现在分享给大家。
#获取集合的所有方法print(dir(set()))[..., 'add', 'clear', 'copy', 'difference', 'difference_update','discard', 'intersection', 'intersection_update', 'isdisjoint','issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference','symmetric_difference_update', 'union', 'update']
01、add()
描述:add() 方法用于给集合添加元素,如果添加的元素在集合中已存在,则不执行任何操作。注意:集合中只能包含可哈希的对象,即 list,dict 都不能嵌入到集合
语法:set.add(elmnt)
参数:elmnt -- 必需,要添加的元素。
添加不存在的元素set1 = {'周扬青','徐怀钰','Makiyo','Selina'}#建一个罗志祥的女友集合set1.add('罗玉凤')#给他加个凤姐进去set1{'Makiyo', 'Selina', '周扬青', '徐怀钰', '罗玉凤'}set1.add('乔碧萝')#再给罗志祥加个乔碧萝set1{'Makiyo', 'Selina', '乔碧萝', '周扬青', '徐怀钰', '罗玉凤'}#添加存在的元素set1.add('徐怀钰')set1{'Makiyo', 'Selina', '乔碧萝', '周扬青', '罗玉凤'}#我们发现,还是只有五个
02、clear()
描述:clear() 方法用于移除集合中的所有元素。
语法:set.clear()
参数:无。set1 = {'周扬青','徐怀钰','Makiyo','Selina'}#建一个罗志祥的女友集合set1.clear()#一下全部清除了set1set()#返回一个空集合
03、copy()
描述:copy() 方法用于复制一个集合,会重新生成一个
语法:set.copy()
参数:无set1 = {'周扬青','徐怀钰','Makiyo','Selina'}#建一个罗志祥的女友集合set2 = set1.copy()#直接复制产生一个新的集合,要多少有多少set2{'Makiyo', 'Selina', '周扬青', '徐怀钰'}
04、difference()
描述:difference() 方法用于返回集合的差集,即返回的集合元素包含在第一个集合中,但不包含在第二个集合(方法的参数)中。也可以用set1 - set2 进行差运算,set1 减去 set1&set2 部分
语法:set.difference(set)
参数:set -- 必需,用于计算差集的集合set1 = {'周扬青','徐怀钰','Makiyo','Selina'}#建一个罗志祥的女友集合set2 = {'周扬青','徐怀钰','罗玉凤','乔碧萝'}#再建一个罗志祥的女友集合set1.difference(set2){'Makiyo', 'Selina'}
05、difference_update()
描述:difference_update() 方法用于移除两个集合中都存在的元素difference_update() 方法与 difference() 方法的区别在于 difference() 方法返回一个移除相同元素的新集合,而 difference_update() 方法是直接在原来的集合中移除元素,没有返回值。
语法:set.difference_update(set)
参数:set -- 必需,用于计算差集的集合set1 = {'周扬青','徐怀钰','Makiyo','Selina'}#建一个罗志祥的女友集合set2 = {'周扬青','徐怀钰','罗玉凤','乔碧萝'}#再建一个罗志祥的女友集合set1.difference_update(set2)#无返回值print(set1){'Makiyo', 'Selina'}
06、discard()
描述:discard() 方法用于移除指定的集合元素。该方法不同于 remove()方法,因为 remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。
语法:set.discard(value)
参数:value -- 必需,要移除的元素#构建一个罗志祥历任女友的集合set1 = {'周扬青','徐怀钰','Makiyo','Selina'}#现在我们拿走一个看看set1.discard('徐怀钰')set1{'Makiyo', 'Selina', '周扬青'}#人家还剩3个,真是#再拿走一个集合里面没有的,发现并没有报错set1.discard('女助理')set1{'Makiyo', 'Selina', '周扬青'}#用remove方法试试,发现就报错了set1.remove('女助理')KeyError: '女助理'
07、intersection()
描述:intersection() 方法用于返回两个或更多集合中都包含的元素,即交集。set1 & set2 #交运算
语法:set.intersection(set1,set2...etc)
参数:set1 -- 必需,要查找相同元素的集合
set2 -- 可选,其他要查找相同元素的集合,可以多个,多个使用逗号 ,#两个集合取交集set1 = {'周扬青','徐怀钰','Makiyo','Selina'}#建一个罗志祥的女友集合set2 = {'周扬青','徐怀钰','罗玉凤','乔碧萝'}#再建一个罗志祥的女友集合set1.intersection(set2){'周扬青', '徐怀钰'}#多个集合取交集x = {'a', 'b', 'c'}y = {'c', 'd', 'e'}z = {'f', 'g', 'c'}result = x.intersection(y, z)print(result){'c'}
08、intersection_update()
描述:intersection_update() 方法用于获取两个或更多集合中都重叠的元素,即计算交集。intersection_update()方法不同于intersection()方法,因为intersection()方法是返回一个新的集合,而intersection_update()方法是在原始的集合上移除不重叠的元素。
语法:set.intersection_update(set1,set2...etc)
参数:set1 -- 必需,要查找相同元素的集合
set2 -- 可选,其他要查找相同元素的集合,可以多个,多个使用逗号 , 隔开set1 = {'周扬青','徐怀钰','Makiyo','Selina'}#建一个罗志祥的女友集合set2 = {'周扬青','徐怀钰','罗玉凤','乔碧萝'}#再建一个罗志祥的女友集合set1.intersection_update(set2)print(set1){'周扬青', '徐怀钰'}
09、isdisjoint()
描述:isdisjoint() 方法用于判断两个集合是否包含相同的元素,如果没有返回 True,否则返回 False。
语法:set.isdisjoint(set)
参数:set -- 必需,要比较的集合x = {'apple', 'banana', 'cherry'}y = {'google', 'runoob', 'facebook'}z = x.isdisjoint(y)print(z)True
10、issubset()
描述:issubset()判断 set1 是否是 set2 的子集,如果是则返回 True,否则返回 False。
语法:set.issubset(set)
参数:set -- 必需,要比查找的集合x = {'a', 'b', 'c'}y = {'f', 'e', 'd', 'c', 'b', 'a'}z = x.issubset(y)print(z)Truex = {'a', 'b', 'c'}y = {'f', 'e', 'd', 'c', 'b'}z = x.issubset(y)print(z)False
11、issuperset()
描述:issuperset() 方法用于判断指定集合的所有元素是否都包含在原始的集合中,如果是则返回 True,否则返回 False。
语法:set.issuperset(set)
参数:set -- 必需,要比查找的集合x = {'f', 'e', 'd', 'c', 'b', 'a'}y = {'a', 'b', 'c'}z = x.issuperset(y)print(z)Truex = {'f', 'e', 'd', 'c', 'b'}y = {'a', 'b', 'c'}z = x.issuperset(y)print(z)False
12、pop()
描述:pop() 方法用于随机移除一个元素。
语法:set.pop()
参数:set1 = {'周扬青','徐怀钰','Makiyo','Selina'}set1.pop()'徐怀钰'set1{'Makiyo', 'Selina', '周扬青'}
13、remove()
描述:remove() 方法用于移除集合中的指定元素。该方法不同于discard()方法,因为remove()方法在移除一个不存在的元素时会发生错误,而discard()方法不会。
语法:set.remove(item)
参数:item -- 要移除的元素#构建一个罗志祥历任女友的集合set1 = {'周扬青','徐怀钰','Makiyo','Selina'}#现在我们拿走一个看看set1.remove('徐怀钰')set1{'Makiyo', 'Selina', '周扬青'}#人家还剩3个,真是#再拿走一个集合里面没有的,发现并没有报错set1.discard('女助理')set1{'Makiyo', 'Selina', '周扬青'}#用remove方法试试,发现就报错了set1.remove('女助理')KeyError: '
14、symmetric_difference()
描述:symmetric_difference() 方法返回两个集合中不重复的元素集合,即会移除两个集合中都存在的元素。
语法:set.symmetric_difference(set)
参数:set -- 集合set1 = {'周扬青','徐怀钰','Makiyo','Selina'}#建一个罗志祥的女友集合set2 = {'周扬青','徐怀钰','罗玉凤','乔碧萝'}#再建一个罗志祥的女友集合set1.symmetric_difference(set2){'Makiyo', 'Selina', '乔碧萝', '徐怀钰', '罗玉凤'}
15、symmetric_difference_update()
描述:symmetric_difference_update() 方法移除当前集合中在另外一个指定集合相同的元素,并将另外一个指定集合中不同的元素插入到当前集合中。
语法:set.symmetric_difference_update(set)
参数:set -- 要检测的集合set1 = {'周扬青','徐怀钰','Makiyo','Selina'} #建一个罗志祥的女友集合set2 = {'周扬青','徐怀钰','罗玉凤','乔碧萝'}#再建一个罗志祥的女友集合set1.symmetric_difference_update(set2)print(set1){'Selina', '乔碧萝', 'Makiyo', '罗玉凤'}
16、union()
描述:union() 取并集,效果等同于 | ,重复元素只会出现一次,但是括号里可以是 list,tuple,其他 , 甚至是 dict
语法:set.union(set1, set2...)
参数:set1 -- 必需,合并的目标集合
set2 -- 可选,其他要合并的集合,可以多个,多个使用逗号 , 隔开。
示例:
#两个集合的并集set1 = {'小苹果','大桃子','长香蕉'}set2 = {'小李子','大萝卜','长香蕉'}set1.union(set2){'大桃子', '大萝卜', '小李子', '小苹果', '长香蕉'}#长香蕉只出现一次#三个集合并集set3 = {'烂柿子','罗志祥'}set1.union(set2,set3){'大桃子', '大萝卜', '小李子', '小苹果', '烂柿子', '罗志祥', '长香蕉'}#集合和列表也可以set4=['小可爱','西红柿']set1.union(set4){'大桃子', '小可爱', '小苹果', '西红柿', '长香蕉'}#利用交集并集来写一个字符串相似的小方法def jaccard_sim(arg0,arg1):set1 = set(arg0)set2 = set(arg1)sim = len(set1.intersection(set2))/len(set1.union(set2))return(sim)#intersection 求集合的交集arg0 = '(质量问题)标识标签不合格'arg1 = '(质量问题)涉嫌质量不合格'jaccard_sim(arg0,arg1)0.6428571428571429#检测下两个标题的相似性arg0 = '罗志祥道歉人设崩塌:多个品牌商中枪 代言微博遭删除'arg1 = '凌晨五点的罗志祥:你知不知道为了出轨,我有多努力'jaccard_sim(arg0,arg1)0.1428571428571
17、update()
描述:update() 方法用于修改当前集合,可以添加新的元素或集合到当前集合中,如果添加的元素在集合中已存在,则该元素只会出现一次,重复的会忽略。
语法:set.update(set)
参数:set -- 必需,可以是元素或集合x = {'apple', 'banana', 'cherry'}y = {'google', 'runoob', 'apple'}x.update(y)print(x){'banana', 'apple', 'google', 'runoob', 'cherry'}
python中集合比大小方法_Python集合17个方法详解相关推荐
- python中if else语句用法_Python if else条件语句详解
前面我们看到的代码都是顺序执行的,也就是先执行第1条语句,然后是第2条.第3条--一直到最后一条语句,这称为顺序结构. 但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用, ...
- python中wraps是什么意思_Python的wraps修饰器详解
标签: 本文和大家分享的主要是python 中wraps 修饰器相关内容,一起来看看吧,希望对大家 学习python有所帮助. 在了解 wraps 修饰器之前,我们首先要了解 partial ...
- python中枚举类型enum用法_Python枚举类型Enum用法详解
实际开发中,我们离不开定义各种类型,当我们需要定义类型时,一般是通过一组整数来定义.比如:定义不同的月份 JAN 1 FEB 2 MAR 3 ... NOV 11 DEC 12 复制代码 大多数人想到 ...
- python中complex函数的用法_Python 内置函数complex详解
英文文档: class complex([real[, imag]]) Return a complex number with the value real + imag*1j or convert ...
- python跨函数调用变量_对python中不同模块(函数、类、变量)的调用详解
首先,先介绍两种引入模块的方法. 法一:将整个文件引入 import 文件名 文件名.函数名( ) / 文件名.类名 通过这个方法可以运行另外一个文件里的函数 法二:只引入某个文件中一个类/函数/变量 ...
- python中的异常分类_列举 5 个 Python 中的异常类型以及其含义【面试题详解】
今天爱分享给大家带来列举 5 个 Python 中的异常类型以及其含义[面试题详解],希望能够帮助到大家. BaseException +-- SystemExit +-- KeyboardInter ...
- python中bd是什么属性_python数据类型及其特有方法
一.运算符 in方法 "hello" in "abcdefghijklmnopqrstuvwxyz" "li" in ["gg&q ...
- python中的阶乘求和公式_Python阶乘求和的方法
Python阶乘求和的方法 题目描述: 获得用户输入的整数n,输出 1! 2! - n!的值. 如果输入数值为0.负数.非数字或非整数,输出提示信息:输入有误,请输入正整数. (推荐学习:Python ...
- python中输出字体大小改变_python中变量的输入与输出
python中变量的输入与输出 <1>输出 python中变量的输出 # 打印提示print('hello world')print('给我的卡---印度语,你好的意思')# 输出变量ur ...
- python输出图形效果的代码_python打印图形大全(详解)
原博文 2019-04-13 23:48 − 1)for i in range(0,10): shixin=chr(9679) print(shixin) -------------------结果: ...
最新文章
- Effective C++ 条款05
- javascript系列之DOM(三)---事件
- 哈希表的画法_智慧树知到_机械制图A_答案新版
- 计算机中字长名词解释,《计算机科学概论》复习题(内含参考答案)
- Xcode增加头文件搜索路径的方法
- Github 开源趋势榜 TOP 1:英伟达升级发布二代 StyleGAN!
- 华为回怼特朗普;中兴首款 5G 上市;iPhone 可免息分期购买 | 极客头条
- 超英文邮件50%!Flink 中文邮件列表必须有姓名
- Java 基于UDP 实现单播、组播、广播 Socket 编程
- seata xid是什么_Spring Cloud Alibaba分布式事务解决框架Seata概念入门篇
- 本地存储和服务器存储
- 四种超实用的超级记忆法-数字定桩法,借助语句定桩法,标题定桩法,记忆宫殿法
- sqlserver中日期转字符串
- 2022-2028年中国高尔夫行业市场现状分析及投资前景评估报告
- 手机屏幕分类、材料硬度解析
- 获取Android系统关机时间
- 公寓这个大坑,劝大家不要再跳了
- 清华人工智能研究院今日成立!张钹姚期智坐镇,Jeff Dean被聘顾问委员
- mysql多次登录失败控制,Mysql登录失败多次锁定配置
- php导出数据库为excel文件,phpexcel导出数据库成excel文件