Pythonの道5:集合

1649 ワード

≪コレクション|Assembly|emdw≫:無秩序な重複しないデータ・コレクション
機能:
リレーションシップテスト、2つのデータのグループ間の交差、差分セット、並列セットなどの関係をテストします.
特徴:
確定性、元素はhash相互性無秩序性でなければならず、集合中の元素には前後の区別がない.
集合の使用方法:
  • 作成
  • s = {1,2,3,4}
    
  • 増加
  • >>> s.add(1)  //  
    >>> s
    {1, 2, 3, 4}
    >>> s.add(5) // add   hash  
    >>> s.update([2,3,4,7,8]) //  
    >>> s
    {1, 2, 3, 4, 5, 7, 8}
    
  • 削除
  • >>> s.pop()  //  , 
    1
    >>> s.discard(4) //  , 
    >>> s.discard(0)
    >>> s.clear()  //  
    
  • 関係テストの交差
  • >>> s = {1, 2, 3, 4}
    >>> s2 = {3, 4, 5, 6}
    >>> s.intersection(s2)  //   s s2  
    {3, 4}
    >>> s & s2   //   &  
    {3, 4}
    
  • 関係試験の差セット
  • >>> s.difference(s2) // s s2   s  
    {1, 2}
    >>> s - s2    //   -  
    {1, 2}
    >>> 
    >>> s2.difference(s)  // s s2   s2  
    {5, 6}
    >>> s2 - s
    {5, 6}
    
  • 関係テストの並列セット
  • >>> s.union(s2) //   s s2 , 
    {1, 2, 3, 4, 5, 6}
    >>> s | s2  //   | 
    {1, 2, 3, 4, 5, 6}
    
  • 関係試験の対称差セット
  • >>> s.symmetric_difference(s2) //   s s2  
    {1, 2, 5, 6}
    >>> s ^ s2    //   ^  
    {1, 2, 5, 6}
    
  • は関係
  • を含む.
    >>> s.isdisjoint(s2) //  
    False
    >>> s2
    {3, 4, 5, 6}
    >>> s.update([5,6])
    >>> s
    {1, 2, 3, 4, 5, 6}
    >>> s.issuperset(s2) //  ,  a >=b
    True
    >>> s.issubset(s2)  //  
    False
    >>> s2.issubset(s) // s2   s ,  a <=b
    True