集合:在我的世界里,你就是唯一
小测试:如果定义一个num1={},会发现它是dict类型,但是定义一个num2={1,2,3,4,5},却会发现它是一个set类型,而set类型就是本节要说的集合
集合就是没有映射关系的字典(数学知识)
集合的唯一性(数学知识)
如果定义一个num3={1,1,1,1,1,2,2,2,3,3,4},实际上只定义了num3={1,2,3,4}因为集合具有唯一性。
注意:集合也是无序的,和字典一样(无法索引)(也就是说xxx[index]方法无效)
创建集合的方法
把一堆元素用花括号括起来
使用set()工厂函数
示例:
set1=set([1,2,3,4,4,4,5,6])
此时的set1集合为{1,2,3,4,5,6}
应用:使用集合来去掉以下列表中重复的元素:
[0,1,2,3,4,5,5,4,3,2,4]
- 使用原始方法
num1=[0,1,2,3,4,5,5,4,3,2,4]
temp=[]
for each in num1:
if each not in temp:
temp.append(each)
- 使用集合
num1=[0,1,2,3,4,5,5,4,3,2,4]
num1=list(set(num1))
注意!!!使用set()函数有风险,会将有序的list变成无序的set
访问集合的方法
使用for来遍历读取
使用in和not in来判断存在情况
集合的其他使用方法
向集合中添加元素——add方法
示例:
num1={1,2,3}
num1.add(8)
num1={1,2,3,8}
向集合中删除元素——remove方法
如果输入不存在的值会报错
生成一个无法改变的集合——frozenset()
示例:
numfrozen=frozenset([1,2,3,4,5])
numfrozen.add(5100)
**EROOR**
也就是说这样生成的集合是固定的集合