python:集合

集合(set)是一个无序不重复元素序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

集合运算功能主要包含一消除重复元素,二关系测试。

1. 传入序列

set1 = set((1,2,3,4,5,6,7,8,9))
set2 = set([1,2,3,4,5,6,7,8,9])
print(set1)
print(set2)
print(type(set1))
print(type(set2))
#>>>{1, 2, 3, 4, 5, 6, 7, 8, 9}
# >>>{1, 2, 3, 4, 5, 6, 7, 8, 9}
#>>><class 'set'>
#>>><class 'set'>

集合不可以通过小标访问,不可以通过下标修改。

2. 增加

  1. add()
    功能:将元素添加到集合中,如果元素已存在,则不进行任何操作。
    格式:集合名.add(“指定元素”)
    返回:None
set1 = set((1,2,3,4,5,6,7,8,9))
a= set1.add(343)
print(set1)
print(a)
# >>>{1, 2, 4, 5, 6, 7, 8, 9,343}
# >>>None
  1. update()
    功能:将列表(数组,元组,字典等,但不能是单个元素)添加到集合中,如果元素已存在,则不进行任何操作。
    格式:集合名.update(“指定列表”)
    返回:None
set1 = set((1,2,3,4,5,6,7,8,9))
a= set1.update([2121,5454,5345,32])
print(set1)
print(a)
# >>>{32, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2121, 5345, 5454}
# >>>None

注意:列表中的元素是随机插入集合之中,符合集合中无序的特点。

3. 删除

  1. pop()
    功能:随机删除一个元素并返回删除的元素。
    格式:集合名.pop()
    返回:删除的元素
set1 = set((1,2,3,4,5,6,7,8,9))
a= set1.pop()
print(a)
print(type(a))
# >>>1
#>>> <class 'int'>

pop后面的括号里面只能为空,否则报错。
2. remove()
功能:删除指定元素(和remove用法类似,但是指定元素不存在不报错)
格式:集合名.remove(“指定元素”)
返回:None

set1 = set((1,2,3,4,5,6,7,8,9))
a= set1.remove(3)
print(set1)
print(a)
# >>>{1, 2, 4, 5, 6, 7, 8, 9}
# >>>#<class 'NoneType'>
  1. discard()
    功能:删除指定元素(和remove用法类似,但是指定元素不存在不报错)
    格式:集合名.discard(“指定元素”)
    返回:None
  2. clear()
    功能:清空集合
    格式:集合名.clear()
    返回:空集合

4. 集合运算

1. 集合运算符

  1. |:求并集
  2. &:求交集
  3. -:求差集(在前者中且不在后者中的项)
  4. ^:求对称差集(在前者或者后者中,但不会同时出现二者中的)

2. 集合运算函数

  1. union()
    功能:求两个集合的并集
    格式:集合1名.union(集合2名)
    返回:并集集合
  2. intersection()
    功能:求两个集合的交集
    格式:集合1名.intersection(集合2名)
    返回:交集集合
  3. difference()
    功能:求两个集合的差集(在集合1中去掉两个集合的交集)
    格式:集合1名.intersection(集合2名)
    返回:差集集合
  4. symmetric_difference()
    功能:求两个集合的对称差集(两个集合的并集去掉两个集合的交集)
    格式:集合1名.intersection(集合2名)
    返回:对称差集集合

3. 关系测试

  1. issuperset()
    功能:检查当前集合是否是所选集合的超集
    格式:当前集合.issuperset(所选集合)
    返回:布尔值
  2. issubset()
    功能:检查当前集合是否是所选集合的子集
    格式:当前集合.issubset(所选集合)
    返回:布尔值
  3. isdisjion()
    功能:检查两个集合是否不存在交集
    格式:当前集合.isdisjoin(所选集合)
    返回:布尔值

猜你喜欢

转载自blog.csdn.net/weixin_43313213/article/details/83035960