PYTHON:集合set的常用方法和基础知识

目录

集合的特性

创建集合

添加元素

删除元素

查找元素

判断元素值否在集合中

计算集合的元素个数

清空集合

集合的交、并、补、差运算

子集的判断

判断两个集合是否有相同元素

集合的拷贝

集合的特性

集合是没有重复元素的集合数据类型,可以自动去重

集合是无序的,没有顺序

创建集合

  • 可以用 set() 语句创建,其中 set 中的值必须是字符串类型,而且只能有一个参数
  • 可以用 { } 的形式创建,单创建时必须有值传入,不然类型默认为字典
  • a={1,2,3,4}
  • a=set( '1234' )
  • a
  • { '1' , '2' , '3' , '4' }

 

 

添加元素

  • set.add(values)
  • set.update(values) , 其中values可以是列表、元组、字典等
  • 不论添加什么类型在set都会被分解为字符,但 { } 中则不会

删除元素

  • set.remove(values) : 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误
  • set.discard(values) : 将元素 x 从集合 s 中移除,如果元素不存在,不会发生错误
  • set.pop() : 随机删除一个元素,并返回被删除的元素值

 

查找元素

  • 由于集合是无序的,所以不能通过下标来查找

判断元素值否在集合中

  •  in :  若在集合中,返回True,否则,返回False
  • not in : 若不在集合中,返回True,否则,返回False

 

计算集合的元素个数

  • len(set) : 返回元素个数
  • a=set('123')
  • len(a)
  • 3

清空集合

  • set.clear()
  • a=set('123')
  • a.clear()
  • a
  • set()

集合的交、并、补、差运算

  • a & b or set.intersection(set2) : 返回a和b中的共同元素
  • a | b  or set.union(set2):集合a或b中包含的所有元素
  • a - b  or set.difference(set2): 集合a中包含而集合b中不包含的元素
  • a ^ b: 不同时包含于a和b的元素

 

子集的判断

  • set.issubset(set2) : set 是否为 set1 的子集
  • set.isupperset(set2) : set2 是否为 set 的子集

判断两个集合是否有相同元素

  • set.isdisjoint(set1) : 若有,则返回True,否则,返回False

集合的拷贝

  • set.copy() : 返回set的拷贝集合