在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Python集合
Python樹(shù)遍歷算法
Python雙端隊(duì)列
Python隊(duì)列
Python回溯
Python棧
Python數(shù)據(jù)結(jié)構(gòu)開(kāi)發(fā)環(huán)境
Python數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)介
Python算法分析
Python圖遍歷算法
Python搜索算法
Python圖
Python鏈表
Python集合
Python元組
Python字典
Python矩陣
Python高級(jí)鏈表(雙向鏈表)
Python搜索樹(shù)
Python二維數(shù)組
Python堆
Python節(jié)點(diǎn)
Python排序算法
Python數(shù)據(jù)結(jié)構(gòu)
Python遞歸
Python列表
Python數(shù)組
Python算法設(shè)計(jì)
Python哈希表

Python集合

在數(shù)學(xué)上,集合(Set)是不以任何特定順序的數(shù)據(jù)項(xiàng)。 Python集合與此數(shù)學(xué)定義類(lèi)似,但有以下附加條件。

  • 集合中的元素不能重復(fù)。
  • 集合中的元素是不可變的(不能被修改),但集合作為一個(gè)整體是可變的。
  • 附加到python集合中的任何元素不需要索引。所以集合不支持任何索引或切片操作。

集合操作

python中的集合通常用于像聯(lián)合,相交,異同和補(bǔ)充等數(shù)學(xué)運(yùn)算。下面創(chuàng)建一個(gè)集合,訪(fǎng)問(wèn)它的元素并執(zhí)行這些數(shù)學(xué)運(yùn)算。參考以下示例代碼 -

創(chuàng)建一個(gè)集合

通過(guò)使用set()函數(shù)或?qū)⑺性胤胖迷谝粚?duì)大括號(hào)內(nèi)創(chuàng)建一個(gè)集合。

Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"])
Months={"Jan","Feb","Mar"}
Dates={21,22,17}
print(Days)
print(Months)
print(Dates)

當(dāng)上面的代碼執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果。 請(qǐng)注意結(jié)果中元素的順序如何變化。

{'Wed', 'Fri', 'Tue', 'Mon', 'Thu', 'Sun', 'Sat'}
{'Feb', 'Mar', 'Jan'}
{17, 21, 22}

訪(fǎng)問(wèn)集合中的值

我們無(wú)法訪(fǎng)問(wèn)集合中的單個(gè)值。只能如上所示訪(fǎng)問(wèn)所有元素。 但是也可以通過(guò)遍歷該集合來(lái)獲取單個(gè)元素的列表。

Days=set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"])

for d in Days:
    print(d)

當(dāng)執(zhí)行上面示例代碼時(shí),得到以下結(jié)果 -

Wed
Sun
Fri
Tue
Mon
Thu
Sat

將項(xiàng)目添加到集合

可以使用add()方法將元素添加到集合中。附加到新添加的元素不需要指定索引。

Days=set(["Mon","Tue","Wed","Thu","Fri","Sat"])

Days.add("Sun")
print(Days)

當(dāng)上面的代碼執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果 -

{'Wed', 'Sat', 'Thu', 'Mon', 'Sun', 'Tue', 'Fri'}

從集合中刪除項(xiàng)目

可以使用discard()方法從集合中刪除元素。參考以下代碼實(shí)現(xiàn) -

Days=set(["Mon","Tue","Wed","Thu","Fri","Sat"])

Days.discard("Sun")
print(Days)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

{'Tue', 'Fri', 'Wed', 'Sat', 'Thu', 'Mon'}

集合的聯(lián)合操作

兩個(gè)集合上的聯(lián)合操作產(chǎn)生一個(gè)包含來(lái)自?xún)蓚€(gè)集合的所有不同元素的新集合。 在下面的例子中,元素"Wed"出現(xiàn)在兩個(gè)集合中。

DaysA = set(["Mon","Tue","Wed"])
DaysB = set(["Wed","Thu","Fri","Sat","Sun"])
AllDays = DaysA|DaysB
print(AllDays)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

{'Mon', 'Sun', 'Thu', 'Tue', 'Wed', 'Fri', 'Sat'}

集合的交集

兩個(gè)集合上的交集操作產(chǎn)生一個(gè)新的集合,其中只包含來(lái)自?xún)蓚€(gè)集合的共同元素。 在下面的例子中,元素"Wed"出現(xiàn)在兩個(gè)集合中。

DaysA = set(["Mon","Tue","Wed"])
DaysB = set(["Wed","Thu","Fri","Sat","Sun"])
AllDays = DaysA & DaysB
print(AllDays)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

{'Wed'}

集合的差集

對(duì)兩組進(jìn)行差異化操作會(huì)產(chǎn)生一個(gè)新的集合,其中只包含來(lái)自第一集合的元素,而不包含第二集合中的元素。 在下面的例子中,元素Wed出現(xiàn)在兩個(gè)集合中,所以它不會(huì)在結(jié)果集中找到。

DaysA = set(["Mon","Tue","Wed"])
DaysB = set(["Wed","Thu","Fri","Sat","Sun"])
AllDays = DaysA - DaysB
print(AllDays)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

{'Mon', 'Tue'}

比較集合

可以檢查一個(gè)給定的集合是否是另一個(gè)集合的子集或超集。 結(jié)果是TrueFalse,取決于組中存在的元素。

DaysA = set(["Mon","Tue","Wed"])
DaysB = set(["Mon","Tue","Wed","Thu","Fri","Sat","Sun"])
SubsetRes = DaysA <= DaysB
SupersetRes = DaysB >= DaysA
print(SubsetRes)
print(SupersetRes)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

True
True