python 如何比較兩集合的大小關(guān)系
我就廢話不多說了,大家還是直接看代碼吧~
print({1, 2} > {1}) # True
補(bǔ)充:Python——集合是一個(gè)非常之牛的數(shù)據(jù)比較方式
什么是集合?對(duì)似懂非懂或者被集合搞暈了的同學(xué)可以來(lái)看一下。
首先不想說太多概念性的東西,免得又暈了!
請(qǐng)看下面我寫的例子,看完之后自然就知道啥是集合以及如何去應(yīng)用它
#變量a是一個(gè)集合類型 a = set () print ( type (a)) #定義一個(gè)列表,并存入很多重復(fù)的數(shù)字 dt = [ 12 , 9 , 2 , 8 , 4 , 9 , 2 , 7 , 4 , 5 , 6 , 11 , 5 , 7 , 5 , 7 , 9 , 8 , 7 , 2 ] for i in dt: #遍歷列表 a.add(i) #將列表中的每一個(gè)元素添加進(jìn)集合 #打印集合,發(fā)現(xiàn),自動(dòng)去掉重復(fù)的數(shù)字了 print (a) #5存在于集合中嗎? print ( 5 in a) #遍歷集合 for item in a: print (item) #將集合轉(zhuǎn)化成列表 set_list = list (a) print (set_list) print ( type (set_list))
那么,集合還涉及到下面幾個(gè)牛的玩意:
并集:
它將兩個(gè)集合作為參數(shù),并返回一個(gè)包含全部存在于兩個(gè)集合中任意一個(gè)的元素的新集合,用union()方法, 操作符是:"|"
交集:
它接收第2個(gè)集合為參數(shù),返回的是僅包含同時(shí)存在于兩個(gè)集合的那些元素,intersection方法實(shí)現(xiàn),操作符是:"&"
差集:
它告訴我們哪些是剩下的元素,它是一個(gè)存儲(chǔ)于或是存在于這個(gè)集合或是另一個(gè)集合,但不是同時(shí)存在于兩個(gè)集合的對(duì)象的集合 symmetric_difference方法實(shí)現(xiàn),操作符是:"-"
繼續(xù)看例子
a = { 1 , 2 , 3 , 4 , 5 } b = { 6 , 2 , 3 , 7 } #求a和b的并集,將兩組數(shù)據(jù)中共同存在的數(shù)字去除掉后,生成一個(gè)不存在重復(fù)數(shù)字的新集合 print (a.union(b)) #求a和b的交集,將兩組數(shù)據(jù)中共有的數(shù)字提取出來(lái),并生成一個(gè)新的集合,讓我們知道這兩組數(shù)據(jù)中哪些數(shù)字都存在于兩組數(shù)據(jù)里 print (a.intersection(b)) #求a和b的差集,將兩組數(shù)據(jù)中所沒有的數(shù)字提取出來(lái)后,生成一個(gè)新的集合 print (a.symmetric_difference(b)) #注意:他們的結(jié)果取決于誰(shuí)是調(diào)用者,誰(shuí)是參數(shù),上面的3條例子中,a集合是調(diào)用者,b集合是參數(shù) #a集合中的所有數(shù)字都存在于b集合的話,則返回true, a是調(diào)用者,b是參數(shù) print (a.issubset(b)) #b集合作為參數(shù),b集合中的所有元素都存在于a集合中的話,返回true print (a.issuperset(b)) #想要知道全部只存在于a集合而不存在于b集合的元素 print (a.difference(b)) #結(jié)果是1,4,5 #反之 print (b.difference(a)) #結(jié)果是6和7
總結(jié):
通過測(cè)試說明,集合可以用來(lái)操作另一個(gè)集合,集合不僅僅只是一個(gè)容器
那么,應(yīng)用場(chǎng)景一般有如下:
1、對(duì)兩處不同的數(shù)據(jù),如果要快速的結(jié)合起來(lái)去做分析,那么請(qǐng)用集合
2、那么快速的結(jié)合起來(lái)的目的一般是干嘛呢?,比如想知道兩處數(shù)據(jù)中哪些是重復(fù)的,哪些是不同的
因此:
集合是一個(gè)非常之牛的數(shù)據(jù)比較方式
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
python輸入錯(cuò)誤密碼用戶鎖定實(shí)現(xiàn)方法
這篇文章主要介紹了python輸入錯(cuò)誤密碼用戶鎖定實(shí)現(xiàn)方法以及代碼實(shí)現(xiàn)過程,一起參考一下。2017-11-11Django項(xiàng)目中model的數(shù)據(jù)處理以及頁(yè)面交互方法
今天小編就為大家分享一篇Django項(xiàng)目中model的數(shù)據(jù)處理以及頁(yè)面交互方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2018-05-05使用Python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的文件搜索引擎
這篇文章主要為大家詳細(xì)介紹了Python中文件操作的基礎(chǔ)和進(jìn)階知識(shí)并基于以上知識(shí)實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的文件搜索引擎,感興趣的小伙伴可以參考一下2024-05-05