• Python -- set


    Python执行某一类的时候,相当于执行__init__ 方法
    例如:list() 
                list __init__
     

    set 是一个无序且不重复的元素集合,可看做数学中的集合

    用法:
    1.创建集合
      s = set() 创建空集合 
     s = set([11,22,33])
      s = set('asdfghh')
      s = {'asd','saf'}
    2.访问集合
     a in s
    3.更新集合
       s.add()---添加,每次只能添加一个元素
       s.clear() ----清空
       s.upadte()---更新集合,并赋值给s。可以迭代批量添加,相当于执行for循环然后重复执行.add方法。
      
      s.discard()---删除指定元素,不存在不报错
       s.remove()---删除指定元素,不存在则报错
      s.pop() -----随机删除元素
      

    4、联合(|)

    联合(union)操作与集合的OR操作其实等价的,联合符号有个等价的方法,union()。

    >>> s1=set('begin')
    >>> s2=set('man')
    >>> s3=s1|s2
    >>> s3
    set(['a', 'b', 'e', 'g', 'i', 'm', 'n'])

    5、交集(&)

    与集合AND等价,交集符号的等价方法是intersection()

    >>> s1&s2
    set(['n'])
    >>> s1.intersection(s2)
    set(['n'])

    6、查补(-)
    等价方法是difference()

    >>> s1-s2  # s1 - (s1 & s2)
    set(['i', 'b', 'e', 'g'])
    >>> s1.difference(s2)
    set(['i', 'b', 'e', 'g'])

    7、对称差分(^)

    对称差分是集合的XOR(‘异或’),取得的元素属于s1,s2但不同时属于s1和s2.其等价方法symmetric_difference()

    >>> s1^s2   #(s1 U s2)-(s1  & s2)
    set(['a', 'b', 'e', 'g', 'i', 'm'])
    >>> s1.symmetric_difference(s2)
    set(['a', 'b', 'e', 'g', 'i', 'm'])

    注意:集合之间and,or

    >>> s1 and s2  等价于s2
    set(['a', 'm', 'n'])   #取 s2
    >>> s1 or s2   等价于s1
    set(['i', 'b', 'e', 'g', 'n']) #取 s1
    >>>

    五、集合、列表、元组、字符串之间转换

    >>> list(s1)
    ['i', 'b', 'e', 'g', 'n']
    >>> str(s1)
    "set(['i', 'b', 'e', 'g', 'n'])"
    >>> tuple(s1)
    ('i', 'b', 'e', 'g', 'n')


    ***********************************************引用地址忘记了,抱歉**************************************************
  • 相关阅读:
    远程调用丢失请求头与定义RequestInterceptor
    RabbitMQ 高级特性
    注解@ConfigurationProperties使用方法
    Redisson
    分布式缓存
    DEA 无法显示 Run Dashboard 的解决方法
    node多版本切换
    springboot整合amazonS3,封装上传文件接口
    Maven报错:The packaging for this project did not assign a file to the build artifact
    Nodejs介绍及npm工具使用
  • 原文地址:https://www.cnblogs.com/ernest-zhang/p/5536606.html
Copyright © 2020-2023  润新知