• 集合操作


    集合是一个无序的,不重复的数据组合,它的主要作用如下:

    • 去重,把一个列表变成集合,就自动去重了
    • 关系测试,测试两组数据之前的交集、差集、并集等关系

       集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算.由于集合是无序的,所以,sets 不支持 索引, 分片, 或其它类序列(sequence-like)的操作。

      s = set([3,5,9,10])      #创建一个数值集合  
        
      t = set("Hello")         #创建一个唯一字符的集合  
      
      
      a = t | s          # t 和 s的并集  
        
      b = t & s          # t 和 s的交集  
        
      c = t – s          # 求差集(项在t中,但不在s中)  
        
      d = t ^ s          # 对称差集(项在t或s中,但不会同时出现在二者中)  
        
         
        
      基本操作:  
        
      t.add('x')            # 添加一项  
        
      s.update([10,37,42])  # 在s中添加多项  
        
         
        
      使用remove()可以删除一项:  
        
      t.remove('H')  
        
        
      len(s)  
      set 的长度  
        
      x in s  
      测试 x 是否是 s 的成员  
        
      x not in s  
      测试 x 是否不是 s 的成员  
        
      s.issubset(t)  
      s <= t  
      测试是否 s 中的每一个元素都在 t 中  
        
      s.issuperset(t)  
      s >= t  
      测试是否 t 中的每一个元素都在 s 中  
        
      s.union(t)  
      s | t  
      返回一个新的 set 包含 s 和 t 中的每一个元素  
        
      s.intersection(t)  
      s & t  
      返回一个新的 set 包含 s 和 t 中的公共元素  
        
      s.difference(t)  
      s - t  
      返回一个新的 set 包含 s 中有但是 t 中没有的元素  
        
      s.symmetric_difference(t)  
      s ^ t  
      返回一个新的 set 包含 s 和 t 中不重复的元素  
        
      s.copy()  
      返回 set “s”的一个浅复制
      View Code
  • 相关阅读:
    Java: Chain of Responsibility Pattern
    CSharp: Chain of Responsibility Pattern
    CSharp: Command Pattern
    CSharp: Proxy Pattern
    CSharp:Flyweight Patterns
    Java: Command Pattern
    C++工厂模式
    C++实现私有化PIMPL[Private Implementation]
    Qt:Using QByteRef with an index pointing outside the valid range of a QByteArray
    std::stack
  • 原文地址:https://www.cnblogs.com/aiaiduo/p/7488305.html
Copyright © 2020-2023  润新知