集合类型的操作符(共10个)
操作符 | 描述 |
S - T或 S.difference(T) | 返回一个新集合,包括在集合S中但不在集合T中,S值不变。 |
S -= T或 S.difference_update(T) | 更新集合S,包括在集合S中但不在集合T中。S值改变。 |
S & T或 S.intersection(T) | 返回一个集合,包含同时在S和T中的元素 |
S & T或 S.intersection_update(T) | 更新集合S,包含同时在S和T中的元素 |
S ^ T或 symmetric_difference(T) | 返回一个新集合,包括集合S和T中的元素,但不包括同时在其中的元素。 |
S ^= T或 symmetric_difference_update(T) | 更新集合S,包括集合S和T中的元素,但不包括同时在其中的元素。 |
S | T或 S.union(T) | 返回一个新集合,包含集合S和T中的所有元素。 |
S |= T或 S.update(T) | 更新集合S,包括集合S和T中的所有元素。 |
S <= T或 S.issubset(T) | 如果S与T相同或者S是T的子集,返回True,否则返回False,可以用S < T 来判断S是否是T的真子集。 |
S >= T或 S.issuperset(T) | 如果S与T相同或S是T的超集,返回True,否则返回False,可以用S > T 来判断S是否是T的真超集。 |
集合四种基本操作符:交集(&),并集(|),差集(-),补集(^)
集合类型的10个操作函数或方法(共10个)
操作函数或方法 | 描述 |
S.add(x) | 如果数据项x不在S中,则将x增加到s |
S.claer() | 移除S中的所有数据项 |
S.copy() | 返回集合S的一个副本 |
S.pop() | 随机返回集合S中的一个元素,如果S为空则产生keyError的异常 |
S.discard() | 如果x在集合S中,移除该元素;如果x不在集合S中,不报错。 |
S.remove(x) | 如果x在集合S中,移除该元素;如果x不在集合S中,则产生KeyError异常。 |
S.isdisjoint(T) | 如果集合S和T没有相同元素,则返回True |
Len(S) | 返回S的元素个数 |
x in S | 如果x是in的元素,则返回True,否则,返回False |
x not in S | 如果x不是in的元素,则返回True,否则,返回False |
集合类型主要用于3个场景:成员关系测试,元素去重和删除数据项。
>>> 1 in {1,2,3,4} #成员关系测试
True
>>> S = (1,1,2,3,4,5,3,)
>>> set(S) #元素去重
{1, 2, 3, 4, 5}
>>> T = tuple(set(S)-{1,2}) #去重同时删除数据项`
>>> T
(3, 4, 5)