python3初识 之 集合
集合{}是一个无序的,不重复的数据组合,它的主要作用如下:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
1 ''' 2 Accounting:集合的常见操作 3 ''' 4 list_1 = [1,2,3,4,5,6] 5 list_2 = [4,5,6,7,8,9] 6 list_1 = set(list_1)#创建集合,也可直接list_1 = {1,2},但创建空集合时只能用set(),否则为空字典 7 list_2 = set(list_2) 8 print(list_1,list_2) 9 #交集 10 print(list_1 & list_2) 11 print(list_1.intersection(list_2)) 12 #并集 13 print(list_1 | list_2) 14 print(list_1.union(list_2)) 15 #差集 in list_1 but not in list_2 16 print(list_1 - list_2) 17 print(list_1.difference(list_2)) 18 #对称差集 19 print(list_1 ^ list_2) 20 print(list_1.symmetric_difference(list_2)) 21 #子集 22 list_3 = set([1,2]) 23 print(list_3.issubset(list_1)) 24 #父集 25 print(list_1.issuperset(list_3)) 26 #创建字符集合 27 t = set('helloworld') 28 print(t)#{'w', 'h', 'e', 'l', 'd', 'r', 'o'} 29 #增加元素 30 list_1.add(8) 31 print(list_1) 32 list_2.update([88,99,11]) 33 print(list_2) 34 #删除元素 35 list_1.remove(2) 36 print(list_1) 37 #浅拷贝 38 list_1.copy()
优美胜于丑陋(Python 以编写优美的代码为目标)//
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)//
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)//
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)//
扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)//
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)//
可读性很重要(优美的代码是可读的)//
即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)//
不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)//
当存在多种可能,不要尝试去猜测‘而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)。虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )//
做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)//
如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)//
命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)//