zoukankan      html  css  js  c++  java
  • Python学习-31.Python中集合的一些操作

    add方法:

    1 s = {1,2,3}
    2 s.add(4)
    3 print(s)# {1, 2, 3, 4}

    同list的append方法,若调用s.add(3),则不会有任何影响。这点与C#中的HashSet有区别。

    update方法:

    1 s = {1,2,3,4,5}
    2 s.update({3,5,7},[4,6])
    3 print(s)# {1, 2, 3, 4, 5, 6, 7}

    同list的extend方法,将原来没有的元素添加进集合。update可以接受一个到多个可遍历的集合,例如上面例子就接收了一个集合和列表。

    discard和remove方法:

    两者都是删除元素,但既然Python提供了两个方法,那么肯定是有区别的。

    1 s = {1,2,3,4,5}
    2 s2 = s.copy()  
    3 s.discard(1)
    4 s.discard(1)
    5 print(s)# {2, 3, 4, 5}
    6 s2.remove(1)
    7 s2.remove(1)# Error
    8 print(s2)

    在上面的代码可以看出,discard在元素不存在的情况下等价于空操作,而remove在元素不存在的情况下,则会产生错误。

    pop方法:

    1 s={4,1,3}
    2 print(s.pop())
    3 print(s.pop())

    在我的电脑上输出的是:1 3

    由于集合是无序的,因此pop方法的含义是删除随机一个元素,若集合为空,则产生错误。

    clear方法:

    清空集合。

    union方法:

    1 a={1,2,3}
    2 b={2,3,4}
    3 c=a.union(b)
    4 print(c)# {1, 2, 3, 4}

    组合两个集合。数学上的并集。

    intersection方法:

    1 a={1,2,3}
    2 b={2,3,4}
    3 c=a.intersection(b)
    4 print(c)# {2, 3}

    数学上的交集。

    difference方法:

    1 a={1,2,3}
    2 b={2,3,4}
    3 c=a.difference(b)
    4 print(c)# {1}

    a集合的所有未在b中出现的元素。

    symmetric_difference方法:

    1 a={1,2,3}
    2 b={2,3,4}
    3 c=a.symmetric_difference(b)
    4 print(c)# {1, 4}

    所有只出现一次的元素。

    issubset、issuperset方法:

    a={1,2,3}
    b={1,2}
    print(b.issubset(a))# True
    print(a.issuperset(b))# True

    如代码所示,不解释。

  • 相关阅读:
    【程序员日记】快乐的一周嘛(第7期)(财富、快乐、技术)
    zCloud使用技巧:如何使用性能下钻功能分析SQL性能问题
    仅用半小时,从Python爬取到BI可视化,告诉你深圳房价有多贵
    团队一致性的PHP开发环境之Docker
    团队一致性的PHP开发环境之Docker
    团队一致性的PHP开发环境之Docker
    qcow2快照原理
    qcow2快照原理
    qcow2快照原理
    qcow2快照原理
  • 原文地址:https://www.cnblogs.com/h82258652/p/4000771.html
Copyright © 2011-2022 走看看