可变数据类型,他里面的元素必须是不可变的数据类型,无序,不重复。python
集合的增删查测试
集合是没有改这种说法的:spa
(1)集合的元素无序的;blog
(2)集合的元素为不可变类型rem
增长字符串
add 为集合新增一个元素class
set1 = {'hkey', 'xiaofei', 'xixi', 'haha'} set1.add('vivi') # 在集合中新增一个元素 print(set1) # 执行结果: # {'xiaofei', 'vivi', 'haha', 'xixi', 'hkey'}
update 将字符串的每一个元素做为独立的元素添加到集合中date
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'>