繼續(xù)學習集合功能。
繼續(xù)上章的兩個愛好,我們怎么取兩個人所有的愛好。就是把你和你女朋友的愛好放在一起,然后去重。這叫取并集。
hobbies1 = {'吃飯', '睡覺', '看書', '鋼琴', '跳舞', '游泳'}
hobbies2 = {'吃飯', '睡覺', '打游戲', '追劇', '健身'}
print(hobbies1 | hobbies2)
|,這個豎杠是按住回車鍵上面的那個鍵加上shift鍵。
這樣你就把兩個人的愛好全部放在一個集合里面了,當然,豎杠兩邊是沒有關(guān)系的,你可以自己換順序試試。
接著我們繼續(xù)看,去差集。就是取某一個人獨有的愛好,如果我要拿到你獨有的愛好的話,就有前后順序的區(qū)別了。
hobbies1 = {'吃飯', '睡覺', '看書', '鋼琴', '跳舞', '游泳'}
hobbies2 = {'吃飯', '睡覺', '打游戲', '追劇', '健身'}
print(hobbies1 - hobbies2)
print(hobbies2 - hobbies1)
愛好1減去愛好2就是表示從愛好1里面減去和愛好2共同的部分,保留愛好1獨有的愛好。
愛好2減去愛好1就是表示從愛好2里面減去和愛好1共同的部分,保留愛好2獨有的愛好。
打印一下。
這就是取差集。
然后還有一個叫對稱差集,就是把兩個人獨有的愛好都取出來。
hobbies1 = {'吃飯', '睡覺', '看書', '鋼琴', '跳舞', '游泳'}
hobbies2 = {'吃飯', '睡覺', '打游戲', '追劇', '健身'}
print((hobbies1 - hobbies2) | (hobbies2 - hobbies1))
不過對稱差集還有一種更簡單的方式。
hobbies1 = {'吃飯', '睡覺', '看書', '鋼琴', '跳舞', '游泳'}
hobbies2 = {'吃飯', '睡覺', '打游戲', '追劇', '健身'}
print(hobbies1 ^ hobbies2)
然后還有最后一個叫父子集。
你也可以了解為集合的比較運算,就是你可以用大于小雨等于來進行比較。這個比較運算就不是和字典列表一樣挨個去比大小了。
我現(xiàn)在重新定義兩個集合。
s1 = {1, 2, 3}
s2 = {1,2}
我放一張圖就很明顯什么是父子集了。
大圈是s1,它里面有1,2,3。而s2是小圈,被包含在s1里面。
現(xiàn)在我們打印s1大于s2的話就是True。
s1 = {1, 2, 3}
s2 = {1,2}
print(s1 > s2)
如果我在s2里面加個4的話,就不存在父子集這種關(guān)系了,和上面的交集、差集一樣了。然后再去打印大于等于小于,就都會是False,因為兩者沒有任何包含關(guān)系。
s1 = {1, 2, 3}
s2 = {1, 2, 4}
print(s1 > s2)
print(s1 < s2)
print(s1 == s2)
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Pytho 集合類型3