【python】集合操作set函数去重与集合、数组、元组中交集(intersection)、并集(union)、差集(difference)、对称差集(sysmmetric difference)
python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素。 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算。
sets 支持 x in set的bool运算判别x是否在集合内, len(set)集合的长度,和 for x in set对集合内数据的操作。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets**不支持 indexing, slicing**, 或其它类序列(sequence-like)的操作。
集合用于包含一组无序的对象。要创建集合,可使用set()函数并像下面这样提供一系列的项:
与列表和元组不同,集合是无序的,也无法通过数字进行索引。此外,集合中的元素不能重复。例如,如果检查前面代码中t集合的值,结果会是:
集合支持一系列标准操作,包括并集、交集、差集和对称差集,例如:
- a=t | s # t 和 s的并集
- b=t & s # t 和 s的交集
- c=t – s # 求差集(项在t中,但不在s中)
- d=t ^ s #对称差集(项在t或s中,但不会同时出现在二者中)
基本操作:
1、添加新的元素,.add()用于添加单个元素、.update()用于批量添加元素,一对一辅导机构排名如果喂给add的是‘avda’这种多字符串可以成为一个元素,但是喂给update会对字符串去重操作
2、使用remove()可以删除一项,只能一个一个删掉
3、集合长度
4、bool判断
5、交集(&)、(intersection)项同时在t与s中
6、并集(|)、(union),项在t中或者在s中
7、差集(-)、(difference),项在s中,但不在t中
8、对称差集(^)、(sysmmetric_difference),项在t或s中,但不会同时出现在二者中
请注意:union(), intersection(), difference() 和 symmetric_difference() 的非运算符(non-operator,就是形如 s.union()这样的)版本将会接受任何 iterable 作为参数。相反,它们的运算符版本(operator based counterparts)要求参数必须是 sets,如果都是set会报错。

浙公网安备 33010602011771号