5.用于集合的方法
1.add()
作用:
相机和内增加元素,如果添加的元素已经存在的话,则不进行操作
语法:
集合对象.add(elem)
参数:elem 表示要增加的元素
返回值:无
2.clear()
作用:
清空集合内所有元素
语法:
集合对象.clear()
参数:无
返回值:无
3.copy()
作用:
复制一个集合
语法:
集合对象.copy()
参数:无
返回值:返回已复制的集合对象
4.difference()
作用:
返回两个集合的补集
语法:
集合对象1.difference(集合对象2)
参数:集合对象2,表示计算补集的另一个集合
返回值:补集结果,即出现在集合1中但没出现在集合2中的元素集合
等同于:
集合对象1 - 集合对象2
5.difference_update()
作用:
移除两个集合中都存在的元素
语法:
集合对象1.difference_update(集合对象2)
参数 集合对象2:计算补集的集合
返回值:无
注意:直接从集合对象1中删除交集
6.remove()
作用:
移除指定元素
语法:
集合对象.remove(元素)
注意:元素不存在会保错
7.discard()
作用:
移除指定元素
语法:
同上
注意:如果要删除不存在的不发生错误
8.pop()
作用:
随机删除元素,有返回值
语法:
集合对象.pop()
参数:
无
返回值:
被移除的元素
9.intersection()
作用:
返回两个或多个集合中的交集元素,不影响返回值
语法:
set1.intersection(set2,set3,set4)
参数:
做交集的集合对象,可以是多个
返回值:
返回交集集合的结果
10.intersection_update
作用:
获取多个集合的交集,但会将结果直接影响回调用该方法的集合对象,即直接影响原始数据
语法:
s1.intersection_update(s2)
参数:做交集的集合
返回值:无,但会影响s1的结果
11.isdisjoint()
作用:
判断两个集合中是否包含相同的元素,如果没有交集返回True,否则返回False
语法:
s1.isdisjoint(s2)
12.issubset()
作用:
判断一个集合的元素是否都包含在指定集合中(判断子集),如果是返回True,否则返回False
语法:
s1.issubset(s2)
13.issuperset()
作用:
判断超集
语法:
s1.issuperset(s2)
返回值:如果s1不包含s2则返回True
如果s1不包含s2,则返回False(如果s2中有的元素没在s1中)
14.symmetric_difference()
作用:
对称补集,即返回两个集合中不重复的元素集合
语法: s1.symmetric_difference(s2)
参数:
计算对称补集的集合
返回值:
返回一个不重复的元素集合
等同于 s1 ^ s2
15.symmetric_difference_update()
作用:
对称补集,将结果直接影响回原始集合
语法:
s1.symmetric_difference_update(s2)
16.union()
作用:
返回两个集合的并集,即返回两个集合中所有元素,重复元素只出现一次
语法:
s1.union(s2)
返回值:并集结果
等同于:s1|s2
17.update()
作用:
修改当前的集合,也可以添加新元素到集合中
语法:
s1.update(s2)
参数:用于更新s1集合的新集合
返回值:会将更新的结果进行返回
6.集合推导式
集合推导式即允许使用可迭代对象生成集合的表达式
语法:
{表达式 for 变量 in 可迭代对象 if 条件}
例:
L = [1,2,3,4,5,6,7,8,9]
s = {x for x in l if x % 2 == 0}