集合的使用
可变数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。
集合的增删查
集合是没有改这种说法的:
(1)集合的元素无序的;
(2)集合的元素为不可变类型
增加
add 为集合新增一个元素
set1 = {'hkey', 'xiaofei', 'xixi', 'haha'} set1.add('vivi') # 在集合中新增一个元素 print(set1) # 执行结果: # {'xiaofei', 'vivi', 'haha', 'xixi', 'hkey'}
update 将字符串的每个元素作为独立的元素添加到集合中
set1 = {'hkey', 'xiaofei', 'xixi', 'haha'} set1.update('abc') # 将字符串 abc 分别作为三个元素插入到集合中 print(set1) # 执行结果: # {'c', 'xiaofei', 'xixi', 'hkey', 'a', 'haha', 'b'}
删除
pop 随机删除,有返回值
set1 = {'hkey', 'xiaofei', 'xixi', 'haha'} print(set1.pop()) # 随机删除集合中的元素,并返回该元素 print(set1) # 执行结果: # hkey # {'xiaofei', 'xixi', 'haha'}
remove 按元素删除
set1 = {'hkey', 'xiaofei', 'xixi', 'haha'} set1.remove('haha') # 按照元素删除 print(set1) # 执行结果: # {'hkey', 'xixi', 'xiaofei'}
clear 清空列表
set1 = {'hkey', 'xiaofei', 'xixi', 'haha'} set1.clear() # 清空整个集合 print(set1) # 执行结果: # set()
del 删除整个集合
set1 = {'hkey', 'xiaofei', 'xixi', 'haha'} del set1
集合没有修改:1. 无序的;2. 不可变类型
查找
集合只能用 for 查看, 集合是可迭代序列
集合运算
集合运算功能包括:
1. 消除重复元素;
2. 关系测试
交集:& 和 并集:|
set1 = {1, 2, 3} set2 = {2, 3, 4} print(set1 & set2) # 计算交集 # 执行结果: # {2, 3} print(set1 | set2) # 计算并集 # 执行结果: # {1, 2, 3, 4} # 集合中的元素是不可重复的
反交集: ^ 就是除了交集以外元素的集合
set1 = {1, 2, 3} set2 = {2, 3, 4} print(set1 ^ set2) # 反交集 # 执行结果: # {1, 4}
差集:- set1 - set2 : set1 而 set2 没有的元素的集合
set1 = {1, 2, 3, 4} set2 = {2, 3, 4, 7} print(set1 - set2) # 执行结果: # {1}
frozenset() 将集合可变类型转换为不可变类型;
set1 = {1, 2, 3, 4} set2 = {2, 3, 4, 7} s1 = frozenset(set1) print(s1, type(s1)) # 执行结果: # frozenset({1, 2, 3, 4}) <class 'frozenset'>