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將Mysql的查詢(xún)數(shù)據(jù)導(dǎo)出到文件的方法
今天小編就為大家分享一篇關(guān)于使用Python將Mysql的查詢(xún)數(shù)據(jù)導(dǎo)出到文件的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
詳解python中的lambda與sorted函數(shù)
這篇文章主要介紹了python中的lambda與sorted函數(shù)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-09-09
Pycharm安裝scrapy及初始化爬蟲(chóng)項(xiàng)目的完整步驟
因?yàn)槿腴T(mén)python以來(lái)一直使用pycharm,所以對(duì)著黑白的DOS不習(xí)慣,所以此次來(lái)實(shí)現(xiàn)使用pycharm進(jìn)行實(shí)現(xiàn)使用scrapy框架,下面這篇文章主要給大家介紹了關(guān)于Pycharm安裝scrapy及初始化爬蟲(chóng)項(xiàng)目的完整步驟,需要的朋友可以參考下2022-08-08
Python實(shí)現(xiàn)文件內(nèi)容批量追加的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)文件內(nèi)容批量追加的方法,結(jié)合實(shí)例形式分析了Python文件的讀寫(xiě)相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
Python實(shí)現(xiàn)簡(jiǎn)單的俄羅斯方塊游戲
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)簡(jiǎn)單的俄羅斯方塊游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
python利用hook技術(shù)破解https的實(shí)例代碼
python利用hook技術(shù)破解https的實(shí)例代碼,需要的朋友可以參考一下2013-03-03
pandas DataFrame實(shí)現(xiàn)幾列數(shù)據(jù)合并成為新的一列方法
今天小編就為大家分享一篇pandas DataFrame實(shí)現(xiàn)幾列數(shù)據(jù)合并成為新的一列方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06

