Python——集合是一個非常之牛逼的資料比較方式

來源:互聯網
上載者:User

標籤:sub   set   很多   bar   取出   調用   union   amp   哪些   

    什麼是集合?對似懂非懂或者被集合搞暈了的同學可以來看一下。
    首先不想說太多概念性的東西,免得又暈了!

    請看下面我寫的例子,看完之後自然就知道啥是集合以及如何去應用它

#變數a是一個集合類型a = set()print(type(a))#定義一個列表,並存入很多重複的數字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) #將列表中的每一個元素添加進集合#列印集合,發現,自動去掉重複的數字了print(a)#5存在於集合中嗎?print(5 in a)#遍曆集合for item in a:    print(item)#將集合轉化成列表set_list = list(a)print(set_list)print(type(set_list))


那麼,集合還涉及到下面幾個牛逼的玩意:

並集:
    它將兩個集合作為參數,並返回一個包含全部存在於兩個集合中任意一個的元素的新集合,用union()方法, 操作符是:"|"
交集:
    它接收第2個集合為參數,返回的是僅包含同時存在於兩個集合的那些元素,intersection方法實現,操作符是:"&"
差集:
    它告訴我們哪些是剩下的元素,它是一個儲存於或是存在於這個集合或是另一個集合,但不是同時存在於兩個集合的對象的集合
    symmetric_difference方法實現,操作符是:"-"


繼續看例子

a = {1,2,3,4,5}b = {6,2,3,7}#求a和b的並集,將兩組資料中共同存在的數字去除掉後,產生一個不存在重複數位新集合print(a.union(b))#求a和b的交集,將兩組資料中共有的數字提取出來,並產生一個新的集合,讓我們知道這兩組資料中哪些數字都存在於兩組資料裡print(a.intersection(b))#求a和b的差集,將兩組資料中所沒有的數字提取出來後,產生一個新的集合print(a.symmetric_difference(b))#注意:他們的結果取決於誰是調用者,誰是參數,上面的3條例子中,a集合是調用者,b集合是參數#a集合中的所有數字都存在於b集合的話,則返回true, a是調用者,b是參數print(a.issubset(b))#b集合作為參數,b集合中的所有元素都存在於a集合中的話,返回trueprint(a.issuperset(b))#想要知道全部只存在於a集合而不存在於b集合的元素print(a.difference(b)) #結果是1,4,5#反之print(b.difference(a)) #結果是6和7


總結:
    通過測試說明,集合可以用來操作另一個集合,集合不僅僅只是一個容器
    那麼,應用情境一般有如下:
        1、對兩處不同的資料,如果要快速的結合起來去做分析,那麼請用集合
        2、那麼快速的結合起來的目的一般是幹嘛呢?,比如想知道兩處資料中哪些是重複的,哪些是不同的
        
因此:
    集合是一個非常之牛逼的資料比較方式

Python——集合是一個非常之牛逼的資料比較方式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.