python - 集合(set)
2021-04-18 07:30
标签:yun 关系运算 合集 长度 lun pop join one 部分 python - 集合(set) 标签:yun 关系运算 合集 长度 lun pop join one 部分 原文地址:https://www.cnblogs.com/keqing1108/p/13295580.html# 作用: 关系运算
# 定义集合:{}内用逗号分隔,每个元素都必须是不可变类型,元素不能重复,无序
s = {1, 2, 3, 1}
print(s) # 输出结果: {1, 2, 3}
# 长度len
print(len(s)) # 输出结果:3
pythons = {‘kek‘, ‘changmin‘, ‘yunhao‘, ‘xiaobai‘}
linuxs = {‘jialun‘, ‘guoqiang‘, ‘haha‘, ‘changmin‘}
# 交集
print(pythons & linuxs) # 输出结果:{‘changmin‘}
# 合集
print(pythons | linuxs) # 输出结果:{‘yunhao‘, ‘kek‘, ‘xiaobai‘, ‘jialun‘, ‘guoqiang‘, ‘haha‘, ‘changmin‘}
# 对称差集
print(pythons ^ linuxs) # 输出结果:{‘haha‘, ‘jialun‘, ‘guoqiang‘, ‘yunhao‘, ‘xiaobai‘, ‘kek‘}
# 差集
print(pythons - linuxs) # 输出结果:{‘yunhao‘, ‘xiaobai‘, ‘kek‘}
print(linuxs - pythons) # 输出结果:{‘guoqiang‘, ‘jialun‘, ‘haha‘}
# 父集: 一个集合>,>=另一个集合
s1 = {1, 2, 3}
s2 = {1, 2}
print(s1 >= s2) # 输出结果:True
print(s1.issuperset(s2))
# 子集: 一个集合print(s2 print(s2.issubset(s1))
print(s1 - s2) # 输出结果:{3}
print(s1) # 输出结果:{1, 2, 3}
print(s1.difference(s2)) # 输出结果:{3}
print(s1) # 输出结果:{1, 2, 3}
print(s1.difference_update()) # 输出结果:None
print(s1) # 输出结果:{1, 2, 3
print(set(‘hello‘)) # 输出结果:{‘e‘, ‘o‘, ‘h‘, ‘l‘},相当于for循环
print(set({‘a‘:1, ‘b‘:2})) # 输出结果:{‘b‘, ‘a‘}
l = [‘a‘, ‘b‘, ‘a‘, ‘c‘, ‘b‘]
print(list(set(l))) # 输出结果:[‘b‘, ‘c‘, ‘a‘] 将list去重
s3 = {1, 2, 3, ‘a‘}
print(s3.pop()) # 随机删除
s3.add(‘b‘)
print(s3) # 输出结果:{‘b‘, 2, 3, ‘a‘}
s3.discard(‘a‘)
print(s3) # 输出结果:{‘b‘, 2, 3} 删除指定值,可删除不存在的值
# s3.remove(‘a‘)
# print(s3) # 输出结果:{‘b‘, 2, 3} 删除指点值,不能删除不存在的值
s5 = {1, 2, 3, 4, ‘a‘}
s6 = {7, 8, 9}
print(s5.isdisjoint(s6)) # 输出结果:True 两个集合没有共同部分时,返回True,有共同部分时返回False
s7 = {1, 2, 3, 4}
s7.update({6, 7, 8})
print(s7) # 输出结果:{1, 2, 3, 4, 6, 7, 8}