集合是一个无序的,不重复的数据组合,它的主要作用如下:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
- 集合只能添加,没有插入
-
# Author :Gao ling
list_1 = [1,4,5,7,3,6,7,9]
list_1 = set(list_1)#集合可以去重,集合也是无序的
print(list_1,type(list_1))
list_2 = set([2,6,0,66,22,8])
print(list_1,list_2)
'''
#交集
print(list_1.intersection(list_2))
#并集
print(list_1.union(list_2))
#差集 in list_1 but not in list_2
print(list_1.difference(list_2))
print(list_2.difference(list_1))
#子集 判断是否为子集
list_3 = set([1,3,7])
print(list_3.issubset(list_1))
print(list_1.issuperset(list_3))
#对称差集 并集-交集
print(list_1.symmetric_difference(list_2))
print("----------------------")
list_4=set([5,6,8])
print(list_3.isdisjoint(list_4))#如果两个没有交集返回为true
'''
#交集
print(list_1 & list_2)
#并集union
print(list_1|list_2)
#差集difference
print(list_1-list_2)#in list_1 but not in list_2
#对称差集
print(list_1^list_2)
#基本操作
list_1.add(999)#添加一项
list_1.update([888,777,555])
print(list_1)
#使用remove()可以删除一项:若不存在会报错
list_1.remove(999)
print(list_1)
print(len(list_1))#set的长度
#x in s
#测试x是否是s的成员
#x not in s
#测试x是否不是s的成员
#删除删除任意元素,print可以打印出删除哪个元素
print(list_1.pop())
#discard删除一项,若不存在返回none
list_1.discard(888)
print(list_1)