set原理:
python中包含了一个数据类型set(集合)。集合时一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。
集合对象还支持union(联合),intersection(交),difference(差)和 sysmmetric difference(对称差集)等数学运算。
大括号或 set() 函数可以用来创建集合。 注意:想要创建空集合,你必须使用set() 而不是 {} 。{}用于创建空字典;
set = {'i', 'very','like', 'python','i'}
print(set)
# 列表的去重
set1 = {1,1,2,2,3,4,4,5}
l1 = [1, 1, 2, 2, 3, 4, 4, 5]
print(list(set(l1)))
增
set = {'i', 'very','like', 'python'}
set.add('abc')
print(set)
set.update('acd')
print(set)
删
随机删除
set.pop()
print(set)
按元素删除
set.remove('like')
print(set)
清空
set.clear()
print(set)
del set
print(set)
查
交集 & intersection
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6, 7, 8}
print(set1&set2)
print(set1.intersection(set2))
{4, 5}
{4, 5}
并集 | union
print(set1 | set2)
print(set1.union(set2))
{1, 2, 3, 4, 5, 6, 7, 8}
{1, 2, 3, 4, 5, 6, 7, 8}
差集 - difference
print(set1 - set2)
print(set2 - set1)
print(set1.difference(set2))
{1, 2, 3}
{8, 6, 7}
{1, 2, 3}
反交集 ^ symmetric_difference
print(set1 ^ set2)
print(set1.symmetric_difference(set2))
{1, 2, 3, 6, 7, 8}
{1, 2, 3, 6, 7, 8}
子集 < issubset
set1 = {1, 2, 3}
set2 = {1, 2, 3, 4, 5, 6}
print(set1 < set2)
print(set1.issubset(set2))
超集 > issuperset
print(set2 > set1)
print(set2.issuperset(set1))