python - 集合(set)

# 作用: 关系运算
# 定义集合:{}内用逗号分隔,每个元素都必须是不可变类型,元素不能重复,无序

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 <= s1) # 输出结果:True
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}






posted @ 2020-07-13 20:45  冰箱喵  阅读(247)  评论(0编辑  收藏  举报