Python 集合(set)的使用总结

集合的特点:去重、无序,因此无法通过下标取值。

1. 定义集合

s = set() #定义空的集合
s2 = {'1','2','3'} # 不是key -value形式的话就是集合,不是字典
s3 ={'1','2','3','5','3'}
print(s3) #打印出来后会去除重复的值 {'3', '1', '5', '2'}
ls = [1,2,3,4,5,6,5]
set(ls) #将list强制转换成集合,可以进行去重
print(set(ls))
s4 = 'abcdfegabc'
set(s4) # set可以进行集合运算
print(set(s4)) #{'c', 'f', 'b', 'g', 'e', 'a', 'd'}

2. 操作集合

增加&删除:

s3 ={'1','2','3','5'}
s3.add('1') #向集合中添加值,如果是重复的话还是会把重复的去除,因为集合无序所以输出时各个值的位置不定,可能为 {'2', '3', '1', '5'}
print(s3)
s3.remove('1') #删除值
print(s3) 
s3.pop()#随机删一个值
print(s3)

交集&并集&差集&对称差集:

s2 = {'1','2','3'}
s3 ={'1','2','5'}
#交集
a = s2.intersection(s3) #取交集, s2.intersection(s3) 与 s3.intersection(s2) 一样
print(a)  #{'2', '1'}
b = s2.intersection(s3)
print(b) #{'2', '1'}
print(s2 & s3) #取交集 {'2', '1'}
#并集
print(s2.union(s3)) #取并集 {'2', '5', '3', '1'}
print(s2|s3)#取并集 {'2', '5', '3', '1'}
#差集
print(s2.difference(s3)) #取s2中存在,s3 不存在的,#取差集 {'3'}
print(s2 - s3) #取差集 {'3'}
print(s3 - s2) # {'5'}
#对称差集,取s2, s3 中不同时存在的元素
print(s2 ^ s3) # {'3', '5'}

print(s2.symmetric_difference(s3))#对称差集,就是把两个集合中相同的去掉
原文地址:https://www.cnblogs.com/nancyzhu/p/8253743.html