集合的使用
# 集合是一个不重复的无序的集合,可以使用{}或者set来表示
# {} 有两种意思:字典,集合
# {} 里如果放的键值对,它就是一个字典;如果放的是单个的值,那它就是一个集合
person = {'name':'zhangsan', 'age':18} #字典
x = {'hello', 1, 'good'} #集合
# 如果有重复的数据,会自动去重
names = {'zhangsan', 'lisi', 'jack', 'lisi', 'jack'}
print(names)
# set能不能进行增删改查(很少用到,因为每次的位置都不确定),不能进行查操作
names.add('阿珂') #添加一个元素
print(names)
# names.clear() #清空一个集合
print(names)
#空集合的表示方式不是{},{}表示的是空字典
#空集合是set()
names.pop() #随机删除一个
print(names)
# names.remove('jack') #删除一个指定的元素
# print(names)
#union将多个集合合并生成一个新的集合
#A.update(B)将B拼接到A里面
# print(names.union({'刘能', '赵四'}))
# print(names)
print(names.update({'刘能', '赵四'}))
print(names.update(('刘能', '赵四')))
print(names.update(['刘能', '赵四']))
print(names)
集合使用运算符
first = {'李白', '白居易', '李清照', '杜甫', '王昌龄', '王维', '孟浩然', '王安石'}
second = {'李商隐', '杜甫', '李白', '白居易', '岑参', '王昌龄'}
third = {'李清照', '刘禹锡', '岑参', '王昌龄', '苏轼', '王维', '李白'}
#print(first+second+third) 报错,set不支持加法
print(first - second) #但是可以求差集{'李清照', '王维', '王安石', '孟浩然'}
print(first & second) #求交集{'杜甫', '王昌龄', '李白', '白居易'}
print(first | second) # A | B 求并集{'李清照', '岑参', '杜甫', '王昌龄', '白居易', '李商隐', '王安石', '王维', '李白', '孟浩然'}
print(first ^ second) #求差集的并集{'李清照', '孟浩然', '岑参', '王维&