python集合
创建集合
集合跟字典有点像,但集合没有映射关系,所以创建的时候和字典的区别就是,一个元素只有一个值,同样使用大括号{}将元素括起来,元素间使用逗号,作为分隔符,例如
>>> set1 = {1,'2',(4,)}
集合里元素类型和字典中key值的类型的要求一样,除list、dict、set和内部至少带有上述三种类型之一的tuple之外的类型都可以
Python里的集合和数学上的集合很像,它里面的元素是唯一的,如果在创建的时候有重复的,则会自动去掉重复的
我们可以使用set()函数返回一个将参数中的序列,字典或集合转换成集合类型后的集合,例如
>>> list1 = [1,2,3,4,5,'a','b']
>>> set2 = set(list1)
>>> set2
{1, 2, 3, 4, 5, 'b', 'a'}
注意:如果set里是一个字典,则会默认将key转换为集合,也就是说,set(dict1) 等价于 set(dict1.keys())
访问集合
集合与字典一样,是无序的,字典中有key可以作为索引,但集合中没有,所以它不能像字典列表一样使用索引来访问,我们可以使用for循环来一个个访问集合中的元素
修改集合
add(x)
:向集合中添加一个元素remove(x)
:方法来从集合中删除一个元素,如果不存在将会报错,例如
set1 = {1,2,3,4,5,'a'}
set1.add(6)
set1.remove(1)
print(set1)# {2, 3, 4, 5, 6, 'a'}
不可修改集合frozenset
不可修改集合,顾名思义,它是不能修改的集合,frozenset没有add()和remove()这两个函数
frozenset除了不可修改和类型这两个不同点之外,其他都和集合set一样