python set内置函数的具体使用

set集合

  • 无序可变
  • 由不同元素组成
  • 其元素必须为可哈希的类型(通俗来说不可变类型)

集合的两种定义方式

  • 使用{} Eg:{1,2,3,4,5}
  • 使用set(可迭代类型)函数  Eg:set("hello")
  • * 使用frozenset()函数创建不可变集合

基本函数

s = set("hello")

"""

添加一个元素到集合中

"""

s.add('b')

"""

使用可迭代对象更新集合

"""

s.update([1,2,3,4])

"""

清空集合

"""

s.clear()

"""

拷贝集合(浅拷贝)返回拷贝的副本

"""

s.copy()

"""

随机删除一个元素

如果集合为空返回KeyError异常

"""

s = set("hello")

s.pop()

"""

删除指定元素 没有该元素会报错

"""

s.remove('e')

"""

删除指定元素 没有不报错

"""

s.discard('e')

集合交、并、差、交叉补

s1 = {1,2,3,4,5}

s2 = {1,2,3,6,7}

"""

交集

>>> s1.intersection(s2)

{1, 2, 3}

>>> s1&s2

{1, 2, 3}

"""

s1.intersection(s2)

s1&s2

"""

并集

>>> s1.union(s2)

{1, 2, 3, 4, 5, 6, 7}

>>> s1|s2

{1, 2, 3, 4, 5, 6, 7}

"""

s1.union(s2)

s1|s2

"""

差集

>>> s1.difference(s2)

{4, 5}

>>> s1-s2

{4, 5}

"""

s1.difference(s2)

s1-s2

"""

交叉补集(取各自的不同部分)

>>> s1.symmetric_difference(s2)

{4, 5, 6, 7}

"""

s1.symmetric_difference(s2)

"""

其他update函数

"""

s1.difference_update(s2)

s1.intersection_update(s2)

s1.symmetric_difference_update(s2)

is判断函数

s1 = {1,2,3}

s2 = {1,2}

"""

返回两个集合是否有交集

"""

s1.isdisjoint(s2)

"""

返回s1是否为s2子集

"""

s1.issubset(s2)

"""

返回s1是否为s2父集

"""

s1.issuperset(s2)

以上是 python set内置函数的具体使用 的全部内容, 来源链接: utcz.com/z/358222.html

回到顶部