set 对象是由具有唯一性的 hashable 对象所组成的无序多项集。
集合对象在python中内置两种: set 和 frozenset
set
: 类型是可变的, 由于是可变类型,它没有哈希值,且不能被用作字典的键或其他集合的元素frozenset
: 类型是不可变, 内容在被创建后不能再改变;因此它可以被用作字典的键或其他集合的元素创建方式
set([iterable])
: 返回一个新的 set 对象,其元素来自于 iterable
set
构造器,非空的 set
(不是 frozenset) 还可以通过将以逗号分隔的元素列表包含于花括号之内来创建,例如: {‘jack‘, ‘sjoerd‘}
。frozenset([iterable])
: 返回一个新的 frozenset 对象,其元素来自于 iterablelen(s)
: 返回集合 s 中的元素数量(即 s 的基数)。x in s
: 检测 x 是否为 s 中的成员。x not in s
: 检测 x 是否非 s 中的成员。[frozen]set.isdisjoint
(other): [frozen]set与other不相交返回 Ture[frozen]set.issubset(other), set <= other
: [集合是否为other的子集]检测是否集合中的每个元素都在 other 之中。
set < other
: 检测集合是否为 other 的真子集,即 set <= other and set != other[frozen]set.issuperset(other), set >= other
: [other是否为集合的子集]检测是否 other 中的每个元素都在集合之中。
set > other
: 检测集合是否为 other 的真超集,即 set >= other and set != other。[frozen]set.union(*others), set | other | ...
: [并集]返回一个新集合,其中包含来自原集合以及 others 指定的所有集合中的元素。[frozen]set.intersection(*others), set & other & ...
: [交集]返回一个新集合,其中包含原集合以及 others 指定的所有集合中共有的元素。[frozen]set.difference(*others), set - other - ...
: [set对others的补集]返回一个新集合,其中包含原集合中在 others 指定的其他集合中不存在的元素。[frozen]set.symmetric_difference(other), set ^ other
: [对称差]返回一个新集合,其中的元素或属于原集合或属于 other 指定的其他集合,但不能同时属于两者。[frozen]set.copy()
: 返回原集合的浅拷贝set.update(*others), set |= other | ...
: [并集]更新集合,添加来自 others 中的所有元素set.intersection_update(*others), set &= other & ...
: [交集]更新集合,只保留其中在所有 others 中也存在的元素set.difference_update(*others), set -= other | ...
: [补集]更新集合,移除其中也存在于 others 中的元素set.symmetric_difference_update(other), set ^= other
: [对称差]更新集合,只保留存在于集合的一方而非共同存在的元素set.add(elem)
: 将元素 elem 添加到集合中。set.remove(elem)
: 从集合中移除元素 elem。 如果 elem 不存在于集合中则会引发 KeyErrorset.discard(elem)
: 如果元素 elem 存在于集合中则将其移除set.pop()
: 从集合中移除并返回任意一个元素。 如果集合为空则会引发 KeyErrorset.clear()
: 从集合中移除所有元素原文:https://www.cnblogs.com/duyupeng/p/13063146.html