集合(set)


'''
set是一个无序(不支持索引和切片)而且不重复的集合,有些类似于数学中的集合,
也可以求交集,求并集等,
'''

s1={1,2,3,1} #定义一个set s1 如果s1={}为空则默认定义一个字典
# s1 = set() # 定义空集合
s2=set([2,5,6])
print(s1) # s1={1,2,3} 自动去除重复的元素
s1.add(5) # s1={1,2,3,5} 添加一个元素
print(s1)
s3 = s1.difference(s2) # 返回一个s1中存在而不存在于s2的字典s3,s3={1,3},而s1并没有改变
print(s3)
s1.difference_update(s2) # s1更新为{1, 3}
print(s1)
s1.remove(3) # 移除元素3,s1 = {1}
print(s1)
s1.update([11,2,3]) # 更新s1中的元素,其实是添加 s1={11,2,3}
print(s1)
k = s1.pop() # 删除一个元素,并将删除的元素返回给一个变量,无序的,所以并不知道删除谁
print(k)
s1={1,2,3,4} #这里重新定义了集合s1,s2
s2={3,4,5,6}
r1 = s1.intersection(s2) #取交集,并将结果返回给一个新的集合 r1={3,4}
print('s1与s2的交集:',s1&s2) # {3, 4}
print(r1)
s1.intersection_update(s2) #取交集,并将s1更新为取交集后的结果 s1={3,4}
print(s1)
print(s1.issubset(s2)) #s1是否是s2的的子序列是的话返回True,否则False 这里true
print(s1.issuperset(s2)) #s1是否是s2的父序列 False
print(s1.isdisjoint(s2)) #s1,s2,是否有交集,有的话返回False,没有的话返回True
s1.update([1,2]) #s1={1, 2, 3, 4}
print(s1)
r3 = s1.union(s2) #取并集将结果返回给r3 r3={1,2,3,4,5,6}
print('s1与s2的并集:',s1|s2) #{1, 2, 3, 4, 5, 6}
print(r3)
r2 = s1.symmetric_difference(s2) #r2=s1并s2-s1交s2 r2={1,2,5,6}
print(r2)
s1.symmetric_difference_update(s2) #s1更新为 s1并s2 - s1交s2 s1={1,2,5,6}
print(s1)
s1.add(99) # 添加元素 s1 = {1, 2, 99, 5, 6}
print(s1)
s1.discard(99) #移除元素s1={1, 2, 5, 6}
print(s1)
s1.clear() # 清空集合
print(s1)
 
原文地址:https://www.cnblogs.com/aiyumo/p/11969608.html