# 集合:无序,不可索引;可变,可以删除和添加;数据不重复;维护不重复数据可用
# 集合的元素只能是可哈希,如int(整形),bool(布尔值),str(字符串),tuple(元组),float(浮点数)等
a = set() #定义空集合,不能用a = {}
# 添加
a = {‘张学友‘,‘刘德华‘,‘黎明‘}
a.add(‘郭富城‘)
print(a)
# 输出 {‘刘德华‘, ‘张学友‘, ‘黎明‘, ‘郭富城‘}
a.discard(‘刘德华‘)
print(a)
# 输出 {‘张学友‘, ‘黎明‘, ‘郭富城‘}
# 求交集
b = {‘liu‘,‘zhang‘,‘张学友‘}
c = a.intersection(b) #方法一
print(c) # 输出 {‘张学友‘}
d = a & b #方法二
print(d) # 输出 {‘张学友‘}
# 求并集
e = a.union(b) #方法一
print(e) # 输出 {‘liu‘, ‘郭富城‘, ‘张学友‘, ‘黎明‘, ‘zhang‘}
f = a | b #方法二
print(f) # 输出 {‘liu‘, ‘郭富城‘, ‘张学友‘, ‘黎明‘, ‘zhang‘}
# 求差集
g = a.difference(b) #方法一
print(g) # 输出 {‘黎明‘, ‘郭富城‘}
h= a - b #方法二
print(h) # 输出 {‘黎明‘, ‘郭富城‘}
# 计算长度
i = len(a)
print(i) # 输出 3
# 循环
for j in a:
print(j)
# 输出 张学友
# 黎明
# 郭富城
# 字符串转换成集合
k = ‘尼古拉斯凯奇‘
l = set(k)
print(l)
# 输出 {‘拉‘, ‘尼‘, ‘凯‘, ‘古‘, ‘斯‘, ‘奇‘}
# 列表转换成集合,列表不能嵌套列表
m = [‘11‘,‘22‘,‘33‘,‘33‘,‘44‘,‘11‘]
n = set(m)
print(n) # 自动去重复值
# 输出 {‘44‘, ‘22‘, ‘11‘, ‘33‘}
# 集合转换成列表
o = list(n)
print(o)
# 输出 [‘44‘, ‘22‘, ‘11‘, ‘33‘]
# 集合转换成元组
p = tuple(n)
print(p)
# 输出 (‘44‘, ‘22‘, ‘11‘, ‘33‘)
原文:https://www.cnblogs.com/yin-py/p/15350524.html