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í)的返回值為True
for i in s:
print(i,end='|')
for i,v in enumerate(s):
print('index: %s,value: %s' %(i,v))

3.集合的常用方法
集合是無序的數(shù)據(jù)類型,添加順序和在集合中存儲(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中沒有的元素,
#那么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)問卷調(diào)查,為了實(shí)驗(yàn)的客觀性
他先用計(jì)算機(jī)生成了N個(gè)1~1000之間的隨機(jī)整數(shù)(N<=1000),N是用戶輸入>的,對(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-07
python 循環(huán)遍歷字典元素的簡(jiǎn)單方法
下面小編就為大家?guī)硪黄猵ython循環(huán)遍歷字典元素的簡(jiǎn)單方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09
爬蟲代理池Python3WebSpider源代碼測(cè)試過程解析
這篇文章主要介紹了爬蟲代理池Python3WebSpider源代碼測(cè)試過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12
簡(jiǎn)析Python函數(shù)式編程字符串和元組及函數(shù)分類與高階函數(shù)
這篇文章主要介紹了Python函數(shù)式編程中的字符串、元組及函數(shù)分類與高階函數(shù),有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09
python網(wǎng)絡(luò)爬蟲精解之XPath的使用說明
XPath 是一門在 XML 文檔中查找信息的語言。XPath 可用來在 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ù)可視化庫)圖,文中介紹了常用的三種方法,希望對(duì)大家有所幫助2024-04-04

