首页 > 代码库 > 细说Python中的集合

细说Python中的集合

  • 集合的作用:

    1)去重:把一个列表变成集合,就自动去重了;

           2)关系测试:得出两组数据中的交集、差集、并集;

 1 #去重instance
 2 list=[1,34,2,45,34,67,89,67]
 3 list=set(list)
 4 print(list)
 5 print(type(list))
 6 
 7 #result
 8 #改数据已经进行过去重,并且list变成了set;注意:集合是无序的哦
 9 {1, 34, 67, 2, 45, 89}
10 <class set>

 

  • 集合的增删改查:
 1 list=set([1,34,2,45,34])
 2 #增加:只能添加一个数据
 3 list.add(10)
 4 print(list)
 5 #更新:可以添加多个数据
 6 list.update([11,77,88])
 7 print(list)
 8 #删除remove,remove在删除不存在的数据时,会报错
 9 list.remove(45)
10 print(list)
11 #删除pop:pop是随机删除set中的数据
12 print(list.pop())
13 #删除discard,discard在删除不存在的数据时,不会报错;
14 list.discard(40)
15 print(list)
16 
17 #result
18 {10, 1, 34, 2, 45}
19 {1, 34, 2, 10, 11, 45, 77, 88}
20 {1, 34, 2, 10, 11, 77, 88}
21 1
22 {34, 2, 10, 11, 77, 88}
 1 list=[2,44,56]
 2 list1=[34,2,44,56,78,89,90]
 3 list=set(list)
 4 list1=set(list1)
 5 
 6 #子集
 7 a=list.issubset(list1)
 8 print(a)
 9 #父集
10 b=list1.issuperset(list)
11 print(b)
12 
13 
14 #result
15 True
16 True
 1 list=[1,34,2,45,34,67,89,67]
 2 list1=[34,2,44,56,78,89,90]
 3 
 4 list=set(list)
 5 list1=set(list1)
 6 
 7 #交集(&)
 8 a=list.intersection(list1)
 9 print(a)
10 #并集(|)
11 b=list.union(list1)
12 print(b)
13 #差集(-)
14 c=list.difference(list1)
15 print(c)
16 #对称差集=并集-交集(^)
17 d=list.symmetric_difference(list1)
18 print(d)
19 
20 #result
21 {89, 34, 2}
22 {1, 34, 67, 2, 44, 45, 78, 56, 89, 90}
23 {1, 67, 45}
24 {1, 67, 56, 90, 44, 45, 78}
 1 list=[1,34,2,45,34]
 2 list1=[3,44,56,78,89,90]
 3 
 4 list=set(list)
 5 list1=set(list1)
 6 #如果两组数据里没有交集,就返回True,否则返回false
 7 f=list.isdisjoint(list1)
 8 print(f)
 9 
10 #result
11 True

细说Python中的集合