1.1 彻底掌握集合的基础概念
理解集合类型(set)
集合类型与字典类型非常相似,都是用{}括号。底层逻辑使用的也是哈希表,相当于键名的集合,静态的数据类型。
比如:
contain = {'a','b'}
集合的定义
1.对象定义法(.set())
例:
num = set('abcdefg')
print(num) # num = {'a','b','c','d','e','f','g'}
2.直接定义法
例:
num = {'a','b','c'}
集合元素的输出顺序
无序。输出顺序取决与哈希表的计算
2.1 彻底掌握集合的操作方法
集合的常用操作方法
in/not in:返回布尔值,查找键名是否存在。例:if 'aa' in {'a','b'} # False
set.add(key):将key添加到set中。例:num = {1,2,3} num.add(4) # num = {1,2,3,4}
set.update(iterable):iterable为可迭代对象(字符串,元组,集合,字典),添加到集合里面,重复值会过滤。例:num = {'a','b','c'} num.update({'a','d'}) print(num) # num = {'a','b','c','d'}
set.remove(key):删除set中的指定key。例:num = {1,2,3} num.remove(1) # num = {2,3}
set.pop():随机删除某个元素。例:num = {1,2,3} num.pop()
set.clear():一键清空所有元素。
集合运算
交集(&),并集(|),差值(-)。可参考数学的概念
例子:
num1 = {1,2,3} num2 = {3,4,5}交集:num = num1 & num2 # {3}并集:num = num1|num2 # {1, 2, 3, 4, 5}差值:num = num1 - num2 # {1,2} 表示属于num1不属于num2的集合
3.1 掌握集合的高级概念
键的输出顺序
集合类型的底层实现于哈希表,输出顺序却决于哈希表中的存储位置。
键的数据类型
静态。因为类似dict.keys(),返回字典中的所有键名。集合可以看成字典的键名