1. <source id="nejs2"></source>
  2. <video id="nejs2"></video>
    <source id="nejs2"></source>
          1. Python 集合

            更新:

            集合是不同的可散列對象的可變集合,與列表和元組相同。 它是一個無序的對象集合,這意味著它不記錄元素位置或插入順序,因此不能使用索引訪問元素。

            該集合是數學中集合的 Python 實現。集合對象有合適的方法來執行數學集合運算,如并集、交集、差集等。

            set 對象包含一個或多個不一定是同一類型的項,這些項由逗號分隔并包含在花括號{}中。下面定義了一個偶數集合對象。

            Example: Python Set Object

            even_nums = {2, 4, 6, 8, 10} # set of even numbers
            emp = {1, 'Steve', 10.5, True} # set of different objects 

            集合不存儲重復的對象。即使在花括號內多次添加對象,set 對象中也只保留一個副本。因此,索引和切片操作不能在集合對象上完成。

            Example: Set of Distinct Elements

            >>> nums = {1, 2, 2, 3, 4, 4, 5, 5}
            >>> nums
            {1, 2, 3, 4, 5} 

            集合中元素的順序不一定與賦值時給出的順序相同。Python 優化了集合的結構,以便對其執行數學定義的操作。

            只有不可變(和 hashable)對象可以是 set 對象的一部分??梢越邮軘底?整數、浮點數以及復數)、字符串和元組對象,但不接受集合、列表和字典對象。

            Example: Set Elements

            >>> myset = {(10,10), 10, 20} # valid
            >>> myset
            {10, 20, (10, 10)}
            >>> myset = {[10, 10], 10, 20}  # can't add a list
            Traceback (most recent call last):
              File "<pyshell#9>", line 1, in <module>
                myset = {[10, 10], 10, 20}
            TypeError: unhashable type: 'list'
            >>> myset = { {10, 10}, 10, 20} # can't add a set
            Traceback (most recent call last):
              File "<pyshell#9>", line 1, in <module>
                myset = { {10, 10}, 10, 20}
            TypeError: unhashable type: 'set' 

            在上面的例子中,(10,10)是一個元組,因此它成為集合的一部分。但是,[10,10]是一個列表,因此會顯示一條錯誤消息,表示該列表不可刪除。 ( 哈希是計算機科學中的一種機制,能夠更快地搜索計算機內存中的對象。)

            即使可變對象不存儲在集合中,集合本身也是可變對象。

            使用 set()功能創建一個空集合??盏幕ɡㄌ枌摻ㄒ粋€空的字典,而不是一個空的集合。

            Example: Creating an Empty Set

            >>> emp = {} # creates an empty dictionary
            >>> type(emp)
            <class 'dict'>
            >>> s = set() # creates an empty set
            >>> type(s)
            <class 'set'> 

            set()函數也用于將字符串、元組或字典對象轉換為 set 對象,如下所示。

            Example: Convert Sequence to Set

            >>> s = set('Hello') # converts string to set
            >>> s
            {'l', 'H', 'o', 'e'}
            >>> s = set((1,2,3,4,5)) # converts tuple to set
            >>> s
            {1, 2, 3, 4, 5}
            >>> d = {1:'One', 2: 'Two'} 
            >>> s = set(d) # converts dict to set
            >>> s
            {1, 2} 

            修改集合元素

            使用內置的集合功能 add() 、 remove() 或 update() 方法修改集合集合。

            Example:

            >>> s = set() # creates an empty set
            >>> s.add(10) # add an element
            >>> s.add(20)
            >>> s.add(30)
            >>> s
            {10, 20, 30}
            >>> primeNums = {2, 3, 5, 7}
            >>> s.update(primeNums) # update set with another set
            >>> s
            {2, 3, 20, 5, 7, 10, 30}
            >>> s.remove(2) # remove an element
            >>> s
            {3, 20, 5, 7, 10, 30} 

            設置操作

            如前所述,Python 中的集合數據類型實現為數學中定義的集合??梢詧绦懈鞣N設置操作。運算符|、&、-和^分別執行并集、交集、差集和對稱差集運算。這些運算符中的每一個都有一個與內置集合類相關聯的相應方法。

            操作 例子
            聯合:返回一個包含兩個集合元素的新集合。

            符: | 法: 集.聯() |

            >>> s1={1,2,3,4,5}
            >>> s2={4,5,6,7,8}
            >>> s1&#124;s2         
            {1, 2, 3, 4, 5, 6, 7, 8}

            | |

            >>> s1={1,2,3,4,5}
            >>> s2={4,5,6,7,8}
            >>> s1.union(s2)  
            {1, 2, 3, 4, 5, 6, 7, 8}   
            >>> s2.union(s1)  
            {1, 2, 3, 4, 5, 6, 7, 8}

            | | 交集:返回包含兩個集合共有元素的新集合。

            符: & 法: 集.交() |

            >>> s1={1,2,3,4,5}
            >>> s2={4,5,6,7,8}
            >>> s1&s2         
            {4, 5}                     
            >>> s2&s1         
            {4, 5}

            | |

            >>> s1={1,2,3,4,5}         
            >>> s2={4,5,6,7,8}         
            >>> s1.intersection(s2)    
            {4, 5}                              
            >>> s2.intersection(s1)    
            {4, 5}

            | | 差異:返回一個只包含第一個集合中元素的集合,而不包含第二個集合中的元素。

            符 : - 法: 集.差() |

            >>> s1={1,2,3,4,5}
            >>> s2={4,5,6,7,8}
            >>> s1-s2         
            {1, 2, 3}                  
            >>> s2-s1         
            {8, 6, 7}

            | |

            >>> s1={1,2,3,4,5}    
            >>> s2={4,5,6,7,8}    
            >>> s1.difference(s2) 
            {1, 2, 3}                      
            >>> s2.difference(s1) 
            {8, 6, 7}

            | | 對稱差:返回由兩個集合中的元素組成的集合,不包括公共元素。

            符: ^ 法: 集.對稱 _ 差() |

            >>> s1={1,2,3,4,5}
            >>> s2={4,5,6,7,8}
            >>> s1^s2         
            {1, 2, 3, 6, 7, 8}         
            >>> s2^s1         
            {1, 2, 3, 6, 7, 8}

            | |

            >>> s1={1,2,3,4,5}             
            >>> s2={4,5,6,7,8}             
            >>> s1.symmetric_difference(s2)
            {1, 2, 3, 6, 7, 8}                      
            >>> s2.symmetric_difference(s1)
            {1, 2, 3, 6, 7, 8}

            |

            設置方法

            下表列出了內置的集合方法:

            方法 描述
            set.add() 向集合中添加元素。如果集合中已經存在某個元素,則它不會添加該元素。
            set.clear() 從集合中移除所有元素。
            set.copy() 返回集合的淺拷貝。
            set.difference() 返回具有唯一元素的新集,這些元素不在作為參數傳遞的另一個集中。
            set.difference_update() 用作為參數傳遞的另一個集合中的公共元素更新調用方法的集合。
            設置.丟棄() 從集合中移除特定元素。
            set.intersection() 返回一個包含給定集合中常見元素的新集合。
            set . interface _ update() 使用指定集合中的公共元素更新調用 instersection_update()方法的集合。
            set.isdisjoint() 如果給定的集合沒有公共元素,則返回 true。當且僅當集合的交集是空集時,集合是不相交的。
            set.issubset() 如果集合(調用 issubset()的集合)包含作為參數傳遞的另一個集合的每個元素,則返回 true。
            set.pop() 從集合中移除并返回隨機元素。
            set.remove() 從集合中移除指定的元素。如果找不到指定的元素,將引發錯誤。
            set . symmetric _ difference() 返回一個包含兩個集合中不同元素的新集合。
            set . symmetric difference update() 使用指定集合中的公共元素,更新調用 instersection_update()方法的集合。
            set.union() 從所有給定的集合中返回具有不同元素的新集合。
            set.update() 通過從傳遞的一個或多個 iterables 中添加不同的元素來更新集合。
            頂部 久久久久99精品成人片毛片_黃色A片三級三級三級无码_日本不卡高清视频v中文字幕_高清欧美视频一区二区
            1. <source id="nejs2"></source>
            2. <video id="nejs2"></video>
              <source id="nejs2"></source>