5. 集合 (set)
Last updated
Was this helpful?
Last updated
Was this helpful?
一种非线性的数据结构,是可变的、无序的(散落)、不重复的元素的可迭代的集合类型。
注意!s5 = {}
定义出来的是类型,不是set类型。
set会哈希所有的值。
去重就是基于哈希的。
list
、bytearray
、dict
、set
不可hash,因此set在中不能出现。
增删都是就地修改。
增加一个元素
增加可迭代对象(任意个)
移除一个元素
如果没有,将会返回KeyError
。
随机移除一个元素并返回
移除一个元素
如果没有,不返回错误 。
移除所有元素
set不能修改
无法索引,能够遍历迭代所有元素。 时间复杂度O(1)
返回和多个集合合并后的新集合
可以用|
表示。
多个集合合并,就地修改
可以用|=
表示。
返回和多个集合的交集
可以用&
表示。
多个集合的交集,就地修改
可以用&=
表示。
返回和多个的差集
可以用-
表示。
获取差集,就地修改
可以用-=
表示。
返回和多个的对称差集(并集与交集的差集)
可以用^
表示。
获取对称差集,就地修改
可以用^=
表示。
没有交集返回True