Python基础复习-Set(一)

2016-08-18  本文已影响126人  KenHan

Set( 集合)

花大括号或 set() 函数可以用于创建集合。注意: 若要创建一个空集必须使用set(),而不能用 {}
set() -> new empty set object
set(iterable) -> new set object
集合中的元素不会重复且没有顺序。
集合的基本用途包括成员测试和消除重复条目。
集合对象还支持并集(union)、 交集(intersection)、 差(difference)和对称差(symmetric_difference)等数学运算。
查询时用到了Hash,时间在O(1)级别
set是无序unique值的集合,常用来去重,检验membership等。
set类似一个词典,但只有键key,没有值value,好多操作也类似,但不支持索引,切片等操作。

特点:

  1. 无序
  2. 元素不重复
  3. 成员检测时效率快

Methods

set.add(x)
添加一个元素x到集合中。如果元素已存在, 该操作是无效的。因为集合里的元素是不重复的。


set.clear()
清空集合内的元素。集合变为空集


set.copy()
返回集合的一个浅拷贝。


set.difference(...)
返回一个新集合,新集合为两个或者多个集合的差集。例 a.difference(b,c),返回元素在a中,但不在b、c中


set.difference_update(...)
将别的集合中的元素从本集合中删除。例 a.difference_update(b, c), 将b、c中的元素从a中删除


set.discard(x)
删除集合中的一个元素x。如果x不是集合中的成员,该操作是无效的。


set.intersection(...)
返回一个新集合,新集合为两个或者多个集合的交集。


set.intersection_update(...)
将集合中的元素更新为与其它集合的交集。例 a.intersection_update(b,c),a中的元素为a、b、c的交集


set.isdisjoint(s)
如果两个集合的交集为空集,则返回True,反之为False


set.issubset(s)
如果集合s包含本集合set,则返回True,反之为False


set.issuperset(s)
如果本集合set包含集合s,则返回True,反之为False


set.pop()
删除并且返回集合set中的一个不确定的元素, 如果集合set为空,将会抛出异常KeyError


set.remove(e)
删除集合set中的一个元素e,如果元素e不是集合set的成员,将会抛出异常KeyError


set.symmetric_difference(s)
返回一个新的对称差集合,即该集合包含集合set和集合s中不重复的元素,同并集减交集


set.symmetric_difference_update(s)
将集合set更新为集合set和集合s的对称差集合


set.union(...)
返回一个新的集合,该集合为两个或者多个集合的并集。


set.update(...)
将集合set更新为多个集合的并集

集合操作符号

差集:-
交集:&
并集:|
等于,不等于:==,!=
属于,不属于:in, not in

上一篇下一篇

猜你喜欢

热点阅读