一、集合的定义及特性
1.集合的特性
1.1 去重,把一个列表变成集合,就自动去重了
1.2 关系测试,测试两组数据之间的交集、差集等关系
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
list_1 = [1,3,5,9,7,5,4]
set_1 = set(list_1)
set_2 = set([2,4,0,6,9,12])
print(set_1,set_2) #{1, 3, 4, 5, 7, 9} {0, 2, 4, 6, 9, 12}#交集
print(set_1.intersection(set_2)) # {9, 4}
print(set_1 & set_2) #第二种写法#并集
print(set_1.union(set_2)) #{0, 1, 2, 3, 4, 5, 6, 7, 9, 12}
print(set_1 | set_2) #第二种写法#差集
print(set_1.difference(set_2)) #in set_1 but no in set_2 : {1, 3, 5, 7}
print(set_1 - set_2) #第二种写法
print(set_2.difference(set_1)) #in set_2 but no in set_1 : {0, 2, 12, 6}
print(set_2 - set_1) #第二种写法#子集、父集
set_3 = set([3,4,5])
print(set_3.issubset(set_1)) #子集 : Ture
print(set_1.issuperset(set_3)) #父集 : Ture#对称差集
print(set_1.symmetric_difference(set_2)) # {0, 1, 2, 3, 5, 6, 7, 12}
print(set_1 ^ set_2) #第二种写法#没有交集
set_4 = set([2,0,6])
print(set_1.isdisjoint(set_4)) #是否没有交集 :Ture
二、常用方法
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
list_1 = [1,3,5,9,7,5,4]
set_1 = set(list_1)
#set_2 = set([2,4,0,6,9,12])
print(set_1)#新增
set_1.add(12) #添加一个值
print(set_1)
set_1.update([12,10,15]) #添加多个值
print(set_1)#删除
set_1.remove(10) #参数一定要指定,且无素存在
print(set_1)
set_1.pop() #随机删除一个元素。
print(set_1)
set_1.discard(0) #删除不存在的元素也不会报错
print(set_1)# 长度
print(len(set_1))#判断某个元素是否在集合中
print(10 in set_1)
print(0 not in set_1)