1.集合
集合是一个无序且无重复元素的数据组合,它的主要作用如下:
(1)去重,当把一个列表变成集合时,就自动去重了;
(2)关系测试,测试两组数据之间的交集、差集以及并集等数据关系。
list_1 = [1,2,4,7,3,4,7,9]
set_1 = set(list_1)
print(set_1,type(list_1),type(set_1))
运行结果显示为:
取两个集合的交集、并集、差集
set_2 =set([1,2,4,3,7,9])
set_3 = set([0,1,3,5,6,77,55,434])
#交集
print(set_2.intersection(set_3))
#并集
print(set_2.union(set_3))
#差集
print(set_2.difference(set_3))
print(set_3.difference(set_2))
运行结果为:
判断某个集合是否是另一个集合的子集或父集
set_2 =set([1,2,4,3,7,9])
set_4 = set([1,3,7])
print(set_2.issuperset(set_4))
print(set_4.issubset(set_2))
运行结果为:
对称差集:仅存在于集合1或仅存在于集合2中的元素组成的集合,称为反向差集。
print(set_1.symmetric_difference(set_2))
(3)采用运算符方式进行集合关系运算
求两个集合的交集、并集、差集、对称差集
list_1 = set([1,3,6,4,53,22,17])
list_2 = set([2,3,7,4])
#交集
print(list_1 & list_2)
#并集
print(list_1 | list_2)
#差集
print(list_1 - list_2)
#对称差集
print(list_1 ^ list_2)
运行结果为:
(4)集合的基本操作(增删改)
a.添加
list_1 = set([1,3,6,4,53,22,17])
list_1.add(88)
list_1.update([33,77,999])
print(list_1)
b.删除
list_1.remove(999)
print(list_1)
print(list_1.pop()) #返回删除的元素
c.获取set的长度
print(len(list_1))