集合
Posted LazyEveryday
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集合相关的知识,希望对你有一定的参考价值。
集合的概念
1.Python语言提供的内置数据结构
2.与列表,字典一样属于可变类型的序列
3.集合是没有value的字典
集合的创建方式
1.直接花括号
print(---------字典的创建方式---------)
print(----1.----)
s = python , world , 652
print(s)
2.使用内置函数set()
print(----2.内置函数set()-----)
s1 = set((range(6)))
print(s1)
print(set([3,4,56,7])) #列表->集合
print(set((652,654,777))) #元组->集合
print(set(python)) #字符串->集合
print(set(124,489,315))
print(set())
集合的存储不是顺序存储的,按照hash表的方式存储
3.空集合的创建方式
print(----空集合的创建----)
s =
print(s)
s1 = set()
print(s1)
s = 1 ,2 ,3 ,3 ,4 ,4 ,5
print(s) #其中元素是不能重复的
集合的相关操作
1.集合的判断操作
in / not in
print(--------------------集合的相关操作--------------------)
print(----判断操作----)
s = python , java , 652
#in
print(python in s) #python在s中,True
print(cplusplus in s) #cplusplus不在s中,False
#not
print( php not in s) #php不在s中,True
print(java not in s) #java在s中,False
2.集合的新增操作
调用add()方法,一次添加一个元素
调用update()方法,至少添加一个元素
print(----2.新增操作-----)
s = python
print(s)
s.add(java)
print(s)
s.update( 2022,2018,2015 ) #增加集合中的元素
print(s)
s.update([2,3,4]) #将列表中的元素加进去
print(s)
s.update((100,200,300)) #将元组中的元素加进去
print(s)
3.集合的删除操作
调用remove()方法,一次删除一个指定元素,如果指定元素不存在抛出KeyError
调用discard()方法,一次删除一个指定元素,如果指定元素不存在抛出异常
调用pop()方法,一次只删除一个任意元素
调用clear()方法,清空集合
print(----3.删除操作-----)
s = 1,2,3,40,50,60,700,800,1000
print(s)
s.remove(1000)
print(s)
s.discard(700)
print(s)
s.pop() #不能指定参数,一般删除首元素
print(s)
s.clear()
print(s)
集合间的关系
1.两个集合是否相等
!= ==
print(----------------集合间的关系-----------------)
print(----是否相等-----)
s = 10,20,30,40
s1 = 20,30,40,10
print(s == s1)
print(s != s1)
2.一个集合是否是另一个集合的子集
issubset()
print(----子集----)
s = 1,2,3,4,7,8,9
s1 = 1,2,4,7
s2 = 3,5,7,8,9
print(s1.issubset(s)) #s1 是 s 的子集
print(s2.issubset(s)) #s2 不是 s 的子集
3.一个集合是否是另一个集合的超集
issuperset()
print(----超集-----)
s = 1,2,3,4,7,8,9
s1 = 1,2,4,7
s2 = 3,5,7,8,9
print(s.issuperset(s1))
print(s.issuperset(s2))
4.两个集合没有超集
isdisjoint()
print(----没有交集----)
s = 1,2,4,5
s1 = 2,4,7
s2 = 3,6,9
print(s.isdisjoint(s1)) #没有交集为True
print(s.isdisjoint(s2)) #有交集为False
集合的数学操作(交集,并集,差集,对称差集)
print(-------------集合的数学操作----------)
s1 = 10,20,30,40
s2 = 20,30,40,50,60
#交集 两个集合共有的元素
print(s1.intersection(s2))
print(s1 & s2)
#并集 两个集合的元素加起来(其中重复的元素只要一个)
print(s1.union(s2))
print(s1 | s2)
#差集 其中一个集合减去共有的元素,剩下的就是差集
print(s1.difference(s2))
print(s1 - s2)
#对称差集 两个集合都减去共有的元素,剩下的是对称差集
print(s1.symmetric_difference((s2)))
print(s1 ^ s2)
集合生成式
print(---集合生成式----)
s = i*i for i in range(5)
#将改为[]就是列表生成式
print(s)
print(type(s))
以上是关于集合的主要内容,如果未能解决你的问题,请参考以下文章
数学分析集合 ① ( 集合概念 | 集合表示 | 常用的数集合 | 集合的表示 )
数学分析集合 ① ( 集合概念 | 集合表示 | 常用的数集合 | 集合的表示 )
Groovymap 集合 ( map 集合遍历 | 使用 map 集合的 each 方法遍历 map 集合 | 代码示例 )
Groovy集合声明与访问 ( 使用 [] 创建 ArrayList 和 LinkedList 集合 | 集合赋初值 | 使用下标访问集合 | 使用 IntRange 作为下标访问集合 )