首页 > 代码库 > Python之路 day2 集合的基本操作

Python之路 day2 集合的基本操作

 1 #!/usr/bin/env python
 2 # -*- coding:utf-8 -*- 
 3 #Author:ersa
 4 ‘‘‘
 5 #集合是无序的
 6 集合的关系测试,
 7 增加,删除,查找等操作
 8 ‘‘‘
 9 #列表去重 ==》转集合自动去重
10 list_1 = [1,3,5,7,9,11,2,4]
11 list_2 = [2,4,6,8,10]
12 
13 print(list_1,list_2)
14 
15 #列表转集合
16 list_1 = set(list_1)
17 list_2 = set(list_2)
18 
19 print("关系测试".center(70,=))
20 #两个集合的交集
21 print( list_1.intersection(list_2) )
22 
23 #并集
24 print( list_1.union(list_2) )
25 
26 #差集==》我有你没有
27 print(list_1.difference(list_2))
28 
29 #子集
30 list_3 = set([1,3,5])
31 print(list_3.issubset(list_1))
32 print(list_1.issuperset(list_3))
33 
34 #对称差集==》两个集合中都没有
35 print(list_1.symmetric_difference(list_2))
36 
37 #没有交集则返回true
38 list_4 = set([2,4,6])
39 print(list_3.isdisjoint(list_4))
40 
41 print("关系运算符".center(70,=))
42 #交集 &
43 print("%s & %s 交集:\n"%(list_1,list_3),list_1 & list_3)
44 #并集 |
45 print("%s | %s 并集:\n"%(list_1,list_2),list_1 | list_2)
46 
47 #差集 在 list_1 中不在 list_2中
48 print("%s - %s 差集:\n"%(list_1,list_2),list_1 - list_2)
49 
50 #对称差集 在 list_1 或 list_2中,但不会同时出现在二者中
51 print("%s ^ %s 对称差集:\n"%(list_1,list_2),list_1 ^ list_2)
52 
53 print("集合的基本操作 增、删、改、查".center(70,=))
54 
55 #增加1个
56 list_1.add(999)
57 print("%s 增 add: \n"%(list_1),list_1)
58 
59 #增加多个 update
60 list_1.update([19,29,39])
61 print("%s 增加多个 update \n"%(list_1),list_1)
62 
63 #删除 remove
64 list_1.remove(999)
65 print("%s 删除 remove \n"%(list_1),list_1)
66 
67 #remove 删除不存在的会报错,discard 不会报错
68 print("%s 删除 discard \n"%(list_1),list_1.discard(ddd))
69 list_1.discard(11)
70 print("%s 删除 discard \n"%(list_1))
71 
72 #集合的长度
73 print("%s 长度 \n"%(list_1),len(list_1))
74 
75 #是否是集合的成员
76 print("%s 是否在 集合中 \n"%(list_1),999 in list_1)
77 
78 #是否不是集合的成员
79 print("%s 不在 集合中 \n"%(list_1),999 not in list_1)
80 
81 #删除第一个
82 print("%s 删除第一个 \n"%(list_1),list_1.pop())
83 print(list_1)

 

Python之路 day2 集合的基本操作