Python中的集合介紹
1.集合的定義
集合的元素是不可重復(fù)的
s = {1,2,3,1,2,3,4,5} print(s) print(type(s)) s1 = {1} print(s1) print(type(s1))
集合就算只有一個(gè)元素,也是集合,不需要像列表一樣,加個(gè)逗號(hào)
那么如何定義一個(gè)空集合
s2 = {} print(type(s2)) s3 = set([]) print(s3) print(type(s3))
集合的應(yīng)用(去重)
li = [1,2,3,1,2,3] print(list(set(li)))
2.集合的特性
集合只支持成員操作符和for循環(huán)
s = {1,2,3} print(1 in s)
此時(shí)的返回值為T(mén)rue
for i in s: print(i,end='|') for i,v in enumerate(s): print('index: %s,value: %s' %(i,v))
3.集合的常用方法
集合是無(wú)序的數(shù)據(jù)類(lèi)型,添加順序和在集合中存儲(chǔ)的數(shù)據(jù)不一定相同
1)增加元素
s = {6,7,8,9} #增加一個(gè)元素 s.add(1) print(s)
2)增加多個(gè)元素
s.update({5,3,2}) ##使用update命令 print(s)
3)刪除
s.pop() print(s)
刪除指定元素
s.remove(5) print(s)
4)集合運(yùn)算
s = {1,2,3} s2={2,3,4}
并集
print('并集:',s1.union(s2)) print('并集:',s1|s2)
交集
print('交集:',s1.intersection(s2)) print('交集:',s1&s2)
差集
print('差集:',s1.difference(s2)) #s1-(s1&s2) print('差集:',s2.difference(s1)) #s2-(s1&s2)
對(duì)等差分:并集-交集
print('對(duì)等差分:',s2.symmetric_difference(s1)) print('對(duì)等差分:',s1^s2)
集合關(guān)系的判斷
s3 = {1,2} s4 = {1,2,3} #s3是否為s4的超集 #超集:如果s3中的每一個(gè)元素都在集合s4中,且s4中可能包含s3中沒(méi)有的元素, #那么s4就是s3的一個(gè)超集 print(s3.issuperset(s4)) print(s4.issuperset(s3)) #s3是否為s4的子集 print(s3.issubset(s4)) #兩個(gè)集和是不是 不相交 print(s3.isdisjoint(s4))
4.練習(xí)
明明想在學(xué)校中請(qǐng)一些同學(xué)一起做一項(xiàng)問(wèn)卷調(diào)查,為了實(shí)驗(yàn)的客觀性
他先用計(jì)算機(jī)生成了N個(gè)1~1000之間的隨機(jī)整數(shù)(N<=1000),N是用戶(hù)輸入>的,對(duì)于
其中重復(fù)的數(shù)字,只保留一個(gè),把其余相同的數(shù)字去掉,不同的數(shù)對(duì)應(yīng)著
不同的學(xué)生的學(xué)號(hào),然后再把這些
數(shù)從小到大排序,按照排好的順序去找同學(xué)做調(diào)查,請(qǐng)你協(xié)助明明完成“>去重”與排序工作
s = set([]) for i in range(int(input('N:'))): s.add(random.randint(1,1000)) print(s) print(sorted(s))
ok~
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
python實(shí)現(xiàn)計(jì)算倒數(shù)的方法
這篇文章主要介紹了python實(shí)現(xiàn)計(jì)算倒數(shù)的方法,涉及Python針對(duì)數(shù)學(xué)運(yùn)算操作的相關(guān)技巧,需要的朋友可以參考下2015-07-07python 循環(huán)遍歷字典元素的簡(jiǎn)單方法
下面小編就為大家?guī)?lái)一篇python循環(huán)遍歷字典元素的簡(jiǎn)單方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09爬蟲(chóng)代理池Python3WebSpider源代碼測(cè)試過(guò)程解析
這篇文章主要介紹了爬蟲(chóng)代理池Python3WebSpider源代碼測(cè)試過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12簡(jiǎn)析Python函數(shù)式編程字符串和元組及函數(shù)分類(lèi)與高階函數(shù)
這篇文章主要介紹了Python函數(shù)式編程中的字符串、元組及函數(shù)分類(lèi)與高階函數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09Python 正則表達(dá)式入門(mén)(初級(jí)篇)
本文主要為沒(méi)有使用正則表達(dá)式經(jīng)驗(yàn)的新手入門(mén)所寫(xiě)。由淺入深介紹了Python 正則表達(dá)式,有需要的朋友可以看下2016-12-12python網(wǎng)絡(luò)爬蟲(chóng)精解之XPath的使用說(shuō)明
XPath 是一門(mén)在 XML 文檔中查找信息的語(yǔ)言。XPath 可用來(lái)在 XML 文檔中對(duì)元素和屬性進(jìn)行遍歷。XPath 是 W3C XSLT 標(biāo)準(zhǔn)的主要元素,并且 XQuery 和 XPointer 都構(gòu)建于 XPath 表達(dá)之上2021-09-09三種Matplotlib中動(dòng)態(tài)更新繪圖的方法總結(jié)
這篇文章主要為大家詳細(xì)介紹了如何隨著數(shù)據(jù)的變化動(dòng)態(tài)更新Matplotlib(Python的數(shù)據(jù)可視化庫(kù))圖,文中介紹了常用的三種方法,希望對(duì)大家有所幫助2024-04-04