前言
set中也有key和dic相似。我们一起来学习一下。
介绍
set是一种无序不重复的序列。所谓无序就是你添加key的顺序与set内部排序无关。
构造
set与字典一样,要使用{},其内部只添加key,如果有相同的key会合并为1个。key是不可变的,所以除了list啥都行。
空集合不能直接{}否则会当成字典,需要set()方法构建空集合。
# 集合演示
a = {1, ('a', 'b', 'c'), 1}
print(a) # {1, ('a', 'b', 'c')}
set([]) # 空集合
添加
使用add方法添加key,
a = {1, ('a', 'b', 'c')}
a.add(1)
a.add(2)
print(a) # {1, 2, ('a', 'b', 'c')}
也可以使用update方法添加,从set内容证明了set也是无序的。
a.update('a')
print(a) # {'a', 1, ('a', 'b', 'c'), 2}
删除
set内置remove方法删除其中元素,如果其中key不存在会报错
a = {1, ('a', 'b', 'c')}
a.remove(('a', 'b', 'c'))
print(a) # {1}
使用discard方法删除不存在元素不会报错的
a.discard('aaa')
pop方法则随机删除
a = {1, ('a', 'b', 'c'), 'a', 'd'}
a.pop()
print(a) # {1, ('a', 'b', 'c'), 'd'}
清空set
a.clear()
删除set
del a
判断
判断该元素是否在集合中?
a = {1, ('a', 'b', 'c')}
print('d' in a) # False
查找
集合没有查找单个元素的函数,我们想要查看这些无序的key需要只能遍历,关于遍历可以通过循环和迭代器去遍历所有的元素,在接下来的文章中会介绍的。
总结
好困,我要顶不住了。。。
集合与字典都很重要还要再多加复习,它们之间对于key的要求是相同的,但是其结构有较大差异。