首页 / 知识
python 集合操作方法详解
2023-11-12 13:33:00
集合set
集合用于包含一组无序的对象。与列表和元组不同,集合是无序的,也无法通过数字进行索引。此外,集合中的元素不能重复。set和dict一样,只是没有value,相当于dict的key集合,由于dict的key是不重复的,且key是不可变对象因此set也有如下特性:
不重复,(互异性),也就是说集合是天生去重的
元素为不可变对象,(确定性,元素必须可hash)
集合的元素没有先后之分,(无序性)
1、定义集合
#第一种方法
nums=[1,2,3,4,5,6,7]
num_set=set(nums)
print(num_set)
结果:
{1,2,3,4,5,6,7}
#第二种方法
num_set={1,2,3,4,5,6,7}
2、增(更新)
set.add()
set.update([])
nums={1,2,3,4,5,6,7}
#set.add()增加只能增加一个,不能增加多个值
#nums.add(8)
#print(nums)
#set.update()可以增加一个字符串,可以增加多个值
#nums.update([8])
#print(nums)
#nums.update('8')
#print(nums)
nums.update([8,9,10])
print(nums)
3、删
set1.remove(1)
nums={1,2,3,4,5,6,7}
nums.remove(7)
print(nums)
结果:
{1,2,3,4,5,6}
4、查:无法通过下标索引
5、改:不可变类型无法修改元素
6、交(&)
nums1={1,2,3,4,5,6}
nums2={1,2,3,4,5,10,7,8,9}
#交的方式一:&
a=nums1&nums2
print(a)
#并的方式二:intersaction
b=nums1.intersection(nums2)
print(b)
结果:
{1,2,3,4,5}
{1,2,3,4,5}
7、并(|)
nums1={1,2,3,4,5,6}
nums2={1,2,3,4,5,10,7,8,9}
#并的方式一:|
a=nums1|nums2
print(a)
b=nums1.union(nums2)
print(b)
结果:
{1,2,3,4,5,6,7,8,9,10}
{1,2,3,4,5,6,7,8,9,10}
8、差(-)
nums1={1,2,3,4,5,6}
nums2={1,2,3,4,5,10,7,8,9}
#差的方式一:-
a1=nums1-nums2
print(a1)
a2=nums2-nums1
print(a2)
#差的方式二:difference
b1=nums1.difference(nums2)
print(b1)
b2=nums2.difference(nums1)
print(b2)
结果:
{6}
{8,9,10,7}
{6}
{8,9,10,7}
9、对称差集(^)
nums1={1,2,3,4,5,6}
nums2={1,2,3,4,5,10,7,8,9}
#对称差集表示方法一:^
a1=nums1^nums2
print(a1)
#对称差集表示方法二:symmetric_difference
a2=nums2.symmetric_difference(nums1)
print(a2)
结果:
{6,7,8,9,10}
{6,7,8,9,10}
10、集合转换
se=set(range(4))
li=list(se)
tu=tuple(se)
st=str(se)
print(li,type(li))
print(tu,type(tu))
print(st,type(st))
结果:
[0,1,2,3]
(0,1,2,3)
{0,1,2,3}
补充:frozenset
冰冻集合,是一种特殊的集合类型,也是集合(集合是列表的话,冰冻集合就是元组)
下面创建冰冻集合(一般不会创建空的冰冻集合)
同时下面包含函数的补充
#创建带数据的冰冻集合
info=frozenset(('xuexi','gongzuo','kaoyan','xiuxi'))
print(info,type(info))
#成员监测
result='gongzuo'ininfo
print(result)
#遍历冰冻集合
foriininfo:
print(i)
#集合推导式(无法得到冰冻集合,可以得到集合,列表,元组,字典类型)
result={iforiininfo}
print(result,type(result))
#函数
#冰冻集合可以使用集合的函数(不修改集合本身的函数都可以使用)
info=frozenset(('xuexi','gongzuo','kaoyan','xiuxi'))
#copy()
result=info.copy()
print(result)
#集合操作交集,并集,差集,对称差集等不修改冰冻集合本身就能使用:冰冻集合的操作结果都是冰冻集合
info=frozenset(('xuexi','gongzuo','kaoyan','xiuxi'))
info2={'xuexi','gongzuo','kaoyan','xiuxi'}
#冰冻集合操作
result=info.union(info2)
print(result)
#普通集合操作(冰冻集合是参考集合)
result=info2.union(info)
print(result)
以上内容为大家介绍了python集合操作方法详解,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注我们http://www.mobiletrain.org/
最新内容
相关内容
python调试的几种方式
python调试的几种方式,代码,位置,信息,状态,培训,数据,分析,变量,函数,方式,python作为一种脚本语言,很多时候我们习惯于它的简洁,习惯于它的修Python网络编程调用接收数据的三种
Python网络编程调用接收数据的三种方法,数据,代码,基础,通用,通讯,服务,网络,培训,方法,报文,最近在使用python进行网络编程开发一个通用的tc用Python爬取百度搜索结果
用Python爬取百度搜索结果,百度,项目,分析,软件,网址,广告,时间,培训,粮食,标题,一、前言众所周知,百度上直接搜索关键字会出来一大堆东西,时常数据科学领域Python比R语言更好
数据科学领域Python比R语言更好,数据,公司,工具,时间,项目,工作,庞大,受益,系统,代码,经常有学员问我们,在数据科学领域里,到底是该选Python呢,python的数据类型
python的数据类型,数字,较大,数据,培训,变量,表示,字符串,赋值,常量,小数,1.整型Python可以处理任意大小的整数,当然包括负整数,在程序中的表示用Python开发一个简单的猜数字游戏
用Python开发一个简单的猜数字游戏,数字,代码,培训,官网,设备,程序,玩家,注释,内容,游戏,本文介绍如何使用Python制作一个简单的猜数字游戏。使用Python的toolz库开始函数式编
使用Python的toolz库开始函数式编程,代码,函数,培训,位置,参数,字典,顺序,操作,结果,测试,toolz库允许你操作函数,使其更容易理解,更容易测试代Python语言自带的数据结构有哪些
Python语言自带的数据结构有哪些,异常,数字,数据,元素,序列,培训,位置,名称,分析,括号,Python作为一种脚本语言,其要求强制缩进,使其易读、美观简单是Python编程的第一要则
简单是Python编程的第一要则,代码,设计,第一,工具,技术,培训,策略,体系,对象,错综复杂,简单胜过复杂尚有选择余地时,应该选简单的方案。Python为什么Python没有main函数?
为什么Python没有main函数?,入口,代码,灵活,函数,培训,状态,统一,项目,网上,名称,毫无疑问,Python中没有所谓的主入口函数,但是互联网上经常有文提升Python数据分析能力的方法
提升Python数据分析能力的方法,分析,数据,工具,代码,时间,环境,报告,信息,培训,标准,1.Pandas分析包这个工具的好处是显而易见的。下面的动画Python内置函数
Python内置函数,数字,函数,培训,位置,第一,代码,异常,数据,公式,序列,python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好