Python__16--集合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python__16--集合相关的知识,希望对你有一定的参考价值。
1 集合
一句话,没有value的字典,无序可变序列。
1.1 集合的创建
1.1.1 使用
s=2,3,4,5,5,6,7,7
#输出为2,3,4,5,6,7 集合中元素不允许重复
1.1.2 使用set()
测试代码:
s=2,3,4,5,5,6,7,7
print(s)
s=set(range(6))
print(s)
s=set([3,4,5,56])
print(s)
s=set((3,4,5,56))
print(s)
s=set(Python) #将字符串逐个字符拆开,产生无序集合
print(s)
s=set(1,124,5,4)
print(s)
测试结果:
1.2 集合的相关操作
1.2.1 是否存在某元素
s=10,20,30,405,60
print(10 in s)
print(10 not in s)
1.2.2 加元素
-
加一个
s.add(80)
-
至少加一个
s=10,20,30,405,60 s.update(200,400,800) s.update([56,57,57]) s.update((78,74,70)) #各个元素均添加到随机位置
1.2.3 删元素
-
s.remove(10)
若不存在,会报错KeyError
-
s.discard(500)
若不存在,不会报错
-
s.pop
随机删除一个,不能指定参数
-
s.clear
清空集合中的元素,输出为空set()
1.3 集合的关系
-
==、!=
#元素相同,就相等 s=1,2,3,4 s1=4,3,2,1 s==s1
-
a是否是b的子集
print(s2.issubset(s1)) #是子集则True
-
a是否是b的超集(a是否包含b)
print(s2.issuperset(s1)) #是超集则True
-
两个集合是否没交
#有交集False,没交集True print(s2.isdisjoint(s1)) #有交集False,没交集True
1.4 集合的数学操作
-
交集
print(s1.intersection(s2)) print(s1 & s2)
-
并集
print(s1.union(s2)) print(s1 | s2)
-
差集
s1=1,2,3,4 s2=2,3,4,5 print(s1.difference(s2)) #或者print(s1-s2) #1
-
对称差集
print(s1.symmetric_difference(s2)) print(s1^s2) #1,5
1.5 集合生成式
测试代码:
s=i for i in range(10)
#结果是无序的
s=i*i for i in range(10)
#i*i的位置是输出每个元素的表达式
print(s)
测试结果:
以上是关于Python__16--集合的主要内容,如果未能解决你的问题,请参考以下文章