day4-2

集合(set):

集合去重:

集合关系测试:测试两组数据之间的交集,差集,并集等关系。

关系测试

 1   # 集合是无序的
 2 list_1 = [1,3,5,7,9,2,4,5,8,9]
 3 
 4 list_1 = set(list_1)
 5 
 6 list_2 = set([1,2,3,4,5,6,2,4,6,6])
 7 
 8 
 9 print(list_1)   # 创建   {1, 2, 3, 4, 5, 7, 8, 9}
10 
11 print(list_2)
12 
13 # 交集  intersection 或者 &
14 
15 print(list_1.intersection(list_2))   # {1, 2, 3, 4, 5}
16 
17 # 并集  union  或者 |
18 
19 print(list_1.union(list_2))   #{1, 2, 3, 4, 5, 6, 7, 8, 9}
20 
21 # 差集  difference   - 减号
22 
23 print(list_1.difference(list_2))   # {8, 9, 7}
24 print(list_2.difference(list_1))   # {6}
25 
26 # 子集
27 list3 = set([1,2,3,4,5])
28 
29 print(list3.issubset(list_1))          # True
30 print(list_1.issuperset(list3))        # True
31 
32 # 对称差集,去掉双方重复的   ^ 
33 
34 print(list_1.symmetric_difference(list_2))   # {6, 7, 8, 9}
35 
36 
37 # 没有交集,返回True
38 list4 = set([88,99,77,55])
39 print(list4.isdisjoint(list3))   # True
40 print(list3.isdisjoint(list_2))  # False
View Code

基本操作

 1 list1 = [1,3,5,7,9,2,4,5,8,9] 
 2 
 3 list1 = set(list1)
 4 
 5 # 添加
 6 
 7 list1.add('x')  # 添加一项  {1, 2, 3, 4, 5, 7, 8, 9, 'x'}
 8 list1.update([1,10,9,64])  # 添加多项     {64, 1, 2, 3, 4, 5, 7, 8, 9, 10, 'x'}
 9 
10 # 删除  
11 
12 list1.remove(10)
13  
14 print(list1)
15 
16 # 长度len
17 print(len(list1)) 
18 
19 # x in a 测试x 是否是a 的成员
20 # x not in a 测试x是否不是a 的成员
21 
22 b = list1.copy()
23 print(b)   # 浅复制
24 
25 # 删除任意并返回
26 print(b.pop())
27 
28 print(b.pop())
29 
30 # 删除 discard  如果不存在不会报错,remove会报错
31 
32 b.discard(5)
33 b.discard('y')
34 print(b)
View Code
原文地址:https://www.cnblogs.com/yfjly/p/9671390.html