我就廢話不多說了,大家還是直接看代碼吧~
print({1, 2} > {1}) # True
補充:Python——集合是一個非常之牛逼的數(shù)據(jù)比較方式
什么是集合?對似懂非懂或者被集合搞暈了的同學(xué)可以來看一下。
首先不想說太多概念性的東西,免得又暈了!
請看下面我寫的例子,看完之后自然就知道啥是集合以及如何去應(yīng)用它
#變量a是一個集合類型
a = set ()
print ( type (a))
#定義一個列表,并存入很多重復(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) #將列表中的每一個元素添加進(jìn)集合
#打印集合,發(fā)現(xiàn),自動去掉重復(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))
那么,集合還涉及到下面幾個牛逼的玩意:
并集:
它將兩個集合作為參數(shù),并返回一個包含全部存在于兩個集合中任意一個的元素的新集合,用union()方法, 操作符是:"|"
交集:
它接收第2個集合為參數(shù),返回的是僅包含同時存在于兩個集合的那些元素,intersection方法實現(xiàn),操作符是:""
差集:
它告訴我們哪些是剩下的元素,它是一個存儲于或是存在于這個集合或是另一個集合,但不是同時存在于兩個集合的對象的集合 symmetric_difference方法實現(xiàn),操作符是:"-"
繼續(xù)看例子
a = { 1 , 2 , 3 , 4 , 5 }
b = { 6 , 2 , 3 , 7 }
#求a和b的并集,將兩組數(shù)據(jù)中共同存在的數(shù)字去除掉后,生成一個不存在重復(fù)數(shù)字的新集合
print (a.union(b))
#求a和b的交集,將兩組數(shù)據(jù)中共有的數(shù)字提取出來,并生成一個新的集合,讓我們知道這兩組數(shù)據(jù)中哪些數(shù)字都存在于兩組數(shù)據(jù)里
print (a.intersection(b))
#求a和b的差集,將兩組數(shù)據(jù)中所沒有的數(shù)字提取出來后,生成一個新的集合
print (a.symmetric_difference(b))
#注意:他們的結(jié)果取決于誰是調(diào)用者,誰是參數(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é):
通過測試說明,集合可以用來操作另一個集合,集合不僅僅只是一個容器
那么,應(yīng)用場景一般有如下:
1、對兩處不同的數(shù)據(jù),如果要快速的結(jié)合起來去做分析,那么請用集合
2、那么快速的結(jié)合起來的目的一般是干嘛呢?,比如想知道兩處數(shù)據(jù)中哪些是重復(fù)的,哪些是不同的
因此:
集合是一個非常之牛逼的數(shù)據(jù)比較方式
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- python中判斷集合范圍的方法小結(jié)
- Python 實現(xiàn)集合Set的示例
- python集合的新增元素方法整理
- Python GUI之tkinter窗口視窗教程大集合(推薦)
- python利用遞歸方法實現(xiàn)求集合的冪集