python3 set(集合)小结
补充前面:
内容是否可变:
(1)可变:列表,字典
(2)不可变:数字,字符串,元祖
访问顺序:
(1)顺序访问:字符串,列表,元祖
(2)映射:字典
(3)直接访问:数字
存放元素个数:
(1)容器类型:列表,元祖,字典
(2)原子(只有一个):数字,字符串
集合:
1.
(1)不同的元素组成
(2)无序排列
(3)构成:不可变数据类型(数字,字符串,元祖)
s={1,2,"we",sd,(12,"sd")}
或者a=set{1,2,"we",sd,(12,"sd")}------------------该种方式进行定义时候,循环可以简单去重,无序排列,不可回到之前
2.添加
#添加
# s.add('s')
# s.add('3')
# s.add(3)
# print(s)
3.清除和拷贝
# s.clear()
# print(s)
# s1=s.copy()
4.删除
s={1,2,"we",sd,(12,"sd")} #随机删 # s.pop() #指定删除 # s.remove('sb') # s.remove('hellol') #删除集合中不存元素在会报错
# s.discard('sbbbb')#删除集合中不存元素不会报错
# print(s)
5.交集,并集,差集,交叉补集
t1 = {11, 22, 33, "asd", "qwe", (23, 45, 54, "qwe")}
t2 = {11, 22, 33, "rtf", "fh", "ui", (23, 45, 54, "qwe", (12, "zx"))}
# 交集
print(t1.intersection(t2))
print(t1 & t2)
#{33, 11, 22}
#{33, 11, 22}
t1 = {11, 22, 33, "asd", "qwe", (23, 45, 54, "qwe")}
t2 = {11, 22, 33, "rtf", "fh", "ui", (23, 45, 54, "qwe", (12, "zx"))}
# 并集
print(t1.union(t2))
print(t1 | t2)
#{33, (23, 45, 54, 'qwe'), 'qwe', 11, 'asd', 'rtf', 22, 'fh', 'ui', (23, 45, 54, 'qwe', (12, 'zx'))}
#{33, (23, 45, 54, 'qwe'), 'qwe', 11, 'asd', 'rtf', 22, 'fh', 'ui', (23, 45, 54, 'qwe', (12, 'zx'))}
t1 = {11, 22, 33, "asd", "qwe", (23, 45, 54, "qwe")}
t2 = {11, 22, 33, "rtf", "fh", "ui", (23, 45, 54, "qwe", (12, "zx"))}
# 并集
print(t1.difference(t2))
print(t1 - t2)
#{'qwe', 'asd', (23, 45, 54, 'qwe')}
#{'qwe', 'asd', (23, 45, 54, 'qwe')}
t1 = {11, 22, 33, "asd", "qwe", (23, 45, 54, "qwe")}
t2 = {11, 22, 33, "rtf", "fh", "ui", (23, 45, 54, "qwe", (12, "zx"))}
print("交叉补集:",t1.symmetric_difference(t2))
print("交叉补集:",t1 ^ t2)
print("差集:",t1.symmetric_difference_update(t2))
#交叉补集: {'rtf', (23, 45, 54, 'qwe', (12, 'zx')), 'fh', (23, 45, 54, 'qwe'), 'asd', 'qwe', 'ui'}
#交叉补集: {'rtf', (23, 45, 54, 'qwe', (12, 'zx')), 'fh', (23, 45, 54, 'qwe'), 'asd', 'qwe', 'ui'}
#差集: None
6.定义不可变的集合,frozenset
s=frozenset('hello')

浙公网安备 33010602011771号