日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Python集合

集合是不同的可散列對(duì)象的可變集合,與列表和元組相同。 它是一個(gè)無(wú)序的對(duì)象集合,這意味著它不記錄元素位置或插入順序,因此不能使用索引訪(fǎng)問(wèn)元素。

該集合是數(shù)學(xué)中集合的 Python 實(shí)現(xiàn)。集合對(duì)象有合適的方法來(lái)執(zhí)行數(shù)學(xué)集合運(yùn)算,如并集、交集、差集等。

set 對(duì)象包含一個(gè)或多個(gè)不一定是同一類(lèi)型的項(xiàng),這些項(xiàng)由逗號(hào)分隔并包含在花括號(hào){}中。下面定義了一個(gè)偶數(shù)集合對(duì)象。

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 

集合不存儲(chǔ)重復(fù)的對(duì)象。即使在花括號(hào)內(nèi)多次添加對(duì)象,set 對(duì)象中也只保留一個(gè)副本。因此,索引和切片操作不能在集合對(duì)象上完成。

Example: Set of Distinct Elements

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

集合中元素的順序不一定與賦值時(shí)給出的順序相同。Python 優(yōu)化了集合的結(jié)構(gòu),以便對(duì)其執(zhí)行數(shù)學(xué)定義的操作。

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

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 "", line 1, in 
    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 "", line 1, in 
    myset = { {10, 10}, 10, 20}
TypeError: unhashable type: 'set' 

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

即使可變對(duì)象不存儲(chǔ)在集合中,集合本身也是可變對(duì)象。

使用 set()功能創(chuàng)建一個(gè)空集合??盏幕ɡㄌ?hào)將創(chuàng)建一個(gè)空的字典,而不是一個(gè)空的集合。

Example: Creating an Empty Set

>>> emp = {} # creates an empty dictionary
>>> type(emp)

>>> s = set() # creates an empty set
>>> type(s)
 

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

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} 

修改集合元素

使用內(nèi)置的集合功能 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} 

設(shè)置操作

如前所述,Python 中的集合數(shù)據(jù)類(lèi)型實(shí)現(xiàn)為數(shù)學(xué)中定義的集合??梢詧?zhí)行各種設(shè)置操作。運(yùn)算符|、&、-和^分別執(zhí)行并集、交集、差集和對(duì)稱(chēng)差集運(yùn)算。這些運(yùn)算符中的每一個(gè)都有一個(gè)與內(nèi)置集合類(lèi)相關(guān)聯(lián)的相應(yīng)方法。

操作 例子
聯(lián)合:返回一個(gè)包含兩個(gè)集合元素的新集合。

符: | 法: 集.聯(lián)() |

>>> s1={1,2,3,4,5}
>>> s2={4,5,6,7,8}
>>> s1|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}

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

符: & 法: 集.交() |

>>> 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}

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

符 : - 法: 集.差() |

>>> 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}

| | 對(duì)稱(chēng)差:返回由兩個(gè)集合中的元素組成的集合,不包括公共元素。

符: ^ 法: 集.對(duì)稱(chēng) _ 差() |

>>> 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}

|

設(shè)置方法

下表列出了內(nèi)置的集合方法:

方法 描述
set.add()向集合中添加元素。如果集合中已經(jīng)存在某個(gè)元素,則它不會(huì)添加該元素。
set.clear()從集合中移除所有元素。
set.copy()返回集合的淺拷貝。
set.difference()返回具有唯一元素的新集,這些元素不在作為參數(shù)傳遞的另一個(gè)集中。
set.difference_update()用作為參數(shù)傳遞的另一個(gè)集合中的公共元素更新調(diào)用方法的集合。
設(shè)置.丟棄()從集合中移除特定元素。
set.intersection()返回一個(gè)包含給定集合中常見(jiàn)元素的新集合。
set . interface _ update()使用指定集合中的公共元素更新調(diào)用 instersection_update()方法的集合。
set.isdisjoint()如果給定的集合沒(méi)有公共元素,則返回 true。當(dāng)且僅當(dāng)集合的交集是空集時(shí),集合是不相交的。
set.issubset()如果集合(調(diào)用 issubset()的集合)包含作為參數(shù)傳遞的另一個(gè)集合的每個(gè)元素,則返回 true。
set.pop()從集合中移除并返回隨機(jī)元素。
set.remove()從集合中移除指定的元素。如果找不到指定的元素,將引發(fā)錯(cuò)誤。
set . symmetric _ difference()返回一個(gè)包含兩個(gè)集合中不同元素的新集合。
set . symmetric difference update()使用指定集合中的公共元素,更新調(diào)用 instersection_update()方法的集合。
set.union()從所有給定的集合中返回具有不同元素的新集合。
set.update()通過(guò)從傳遞的一個(gè)或多個(gè) iterables 中添加不同的元素來(lái)更新集合。

分享名稱(chēng):Python集合
分享地址:http://www.5511xx.com/article/dhoodgp.html