一.集合概述
字典是映射的体现,而集合是字典的表亲,大括号括起数字,但不体现映射关系,就是集合.
>>>num1 = {}
>>>type(num1)
<class'dict'>
>>>num2 = {1,2,3}
>>>type(num2)
<class 'set'>
集合关键字:唯一+大括号+无序
>>>num = {1,2,3,4,3,2,1}
>>>num
{1,2,3,4} #清除重复数据
>>>num[2] #error,集合无序,无法去索引集合中的某一个元素
二.集合方法
2.1.两种创建集合的方法
第一种直接用大括号括起来,第二种使用set()方法
>>>set1 = {1,2}
>>>set2 = set([1,2])
>>>set1 == set2
True
2.2.清除重复数据的两种方法
法一
>>>list1 = [1,2,3,2,0]
>>>temp = list1[:]
>>>list1.clear()
>>>for each in temp:
if each not in list1:
list1.append(each)
法二
>>>list1 = [1,2,3,2,0]
>>>list1 = list(set(list1)) #list()将可迭代对象转化为列表
>>>list1
[0,1,2,3]
法二注意点:在将无序的集合转化为列表时,不能保证原来列表顺序,所以法二不适用于要求列表处理前后顺序一致的情况
2.3.访问集合
无法通过索引读取,只能采用迭代方法把集合中的数据一个个读取出来
>>>set1 = {1,2,3,3,2,0}
>>>for each in set1:
print(each,end='')
0,1,2,3
in和not in判断是否在集合中
>>>0 in set1
True
>>>'xx' not in set1
True
add()添加元素,remove()删除元素
>>>set1.add(6)
>>>set1
{0,1,2,3,6}
>>>set1.remove(2)
>>>set1
{0,1,3,6}
三.不可变集合
设置集合不能增减元素,定义为不可变集合,使用frozenset()函数
>>>set1 = frozenset({1,2,3})
>>>set1.add(6) #error,增添元素时报错