zoukankan      html  css  js  c++  java
  • 集合(set)

    1.定义:由不同元素组成,无序,且集合中元素是不可变类型。如:int,str,tuple

    (1)由于是不同元素组成,所以可以用于简单的去重(不考虑顺序时可用)

    a = [1,2,1,3,5,1,4,1]
    b= set(a)
    print(b)
    》》》
    》》》{1, 2, 3, 4, 5}

    2.可变性:集合本身是可以变化的,但是也可以创建不可变集合。》》》》frozenset()

    (1)增加元素:.add()

    (2)删除:.1).pop()随机删除集合中的元素

          2).remove(元素):指定元素删除,但如果元素不存在时会报错。

          3).discard(元素):删除指定元素,且没有返回值。若集合不存在该元素时,不会报错。

          

    s = {1,2,3,4,8,9}
    s.discard(9)
    print(s)
    》》》
    》》》{1, 2, 3, 4, 8}
    s = {1,2,3,4,8,9}
    s.discard(10)
    print(s)
    》》》
    》》》{1, 2, 3, 4, 8, 9}

    3.基本的运算

    (1)求交集:

    a = {1,2,3,4,5,6}
    b = {1,3,5,7,9,10}
    c = a.intersection(b)
    print(c)
    
    用符号表示
    c = a&b
    print(c)
    
    》》》{1, 3, 5}
    》》》
    》》》{1, 3, 5}

    (2)求并集:

    a = {1,2,3,4,5,6}
    b = {1,3,5,7,9,10}
    c = a.union(b)
    print(c)
    
    用符号表示
    c = a|b
    print(c)
    
    》》》{1, 2, 3, 4, 5, 6, 7, 9, 10}
    》》》
    》》》{1, 2, 3, 4, 5, 6, 7, 9, 10}

    (3)求差集:

    在a中减去在b中也有的元素
    a = {1,2,3,4,5,6} b = {1,3,5,7,9,10} c = a.difference(b) print(c) 用符号表示 c = a-b print(c) 》》》 》》》{2, 4, 6} 》》》{2, 4, 6}

    (4)交叉补集:简单理解为两个集合的并集减去交集得到的值

    a = {1,2,3,4,5,6}
    b = {1,3,5,7,9,10}
    c = a.symmetric_difference(b)
    print(c)
    
    用符号表示
    c = a^b
    print(c)
    》》》
    
    》》》{2, 4, 6, 7, 9, 10}
    》》》{2, 4, 6, 7, 9, 10}

    4.更新:即进行运算后将得到的值,重新赋值给原来的集合:如图中的a

    a = {1,2,3,4,5,6}
    b = {1,3,5,7,9,10}
    a.intersection_update(b)
    print(a)
    
    》》》{1, 3, 5}
  • 相关阅读:
    pycharm上传代码到github中
    requests的封装(user-agent,proxies)
    Flask
    CTBCMCLibUser类
    TB timer 的用法
    多个 additional include directories 的复制方法
    怎样在编译时不显示警告
    infragistics 循环每一个选中的行
    Infragitics ultra grid 实现点击某一个cell的时候选中整行,并且不可编辑
    c#转换 datetime
  • 原文地址:https://www.cnblogs.com/chenweitao/p/11229375.html
Copyright © 2011-2022 走看看