Python數(shù)據(jù)類型在常見集合中的語法有哪些

這篇文章將為大家詳細講解有關Python數(shù)據(jù)類型在常見集合中的語法有哪些,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

專注于為中小企業(yè)提供網(wǎng)站設計、網(wǎng)站制作服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)肥城免費做網(wǎng)站提供優(yōu)質的服務。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設實現(xiàn)規(guī)模擴充和轉變。

Python數(shù)據(jù)類型中的set和C#中的集合(collection)不是一個概念,這是翻譯的問題。

Python中的集合是指無序的、不重復的元素集,類似數(shù)學中的集合概念,可對其進行交、并、差、補等邏輯運算。

常見集合的語法為:

s = set(['a', 'b', 'c'])

不過set在Python 3.0中發(fā)生了較大的變化,創(chuàng)建一個集合的語法變成了:s = {1,2,3},用花括弧的方法,與后邊要提到的dict類似。

如果在set中傳入重復元素,集合會自動將其合并。這個特性非常有用,比如去除列表里大量的重復元素,用set解決效率很高,示例如下:

# -*- coding: utf-8 -*-  a = [11,22,33,44,11,22,11,11,22,22,33,33,33]  b = set(a)  print b  #輸出 set([33, 11, 44, 22])

另一個例子,找出兩個list里面相同的元素(集合求交,其它類推),代碼如下:

# -*- coding: utf-8 -*-  a = ["11","22","33"]  b = ["11","33"]  c = set(a)&set(b)  print c  #輸出 set(['11', '33'])

想想你如果自己實現(xiàn)這個算法會怎么寫?然后可以找兩個大一點的列表,比比和set實現(xiàn)的效率,你就會有體會了。以后在程序里多用set吧。
目前C#的Collections中好像還沒有Set,但是C++ STL里是有的,不知道C#為什么不實現(xiàn)這個有趣的東西。

字典(dict)

用過C#中Collections的人對Hashtable應該不會陌生,Python數(shù)據(jù)類型里的哈希表就是字典(dict)了。與set類似,字典是一種無序存儲結構,它包括關鍵字(key)和關鍵字對應的值(value)。

C#程序員需要了解的就是,在Python中dict是一種內置的數(shù)據(jù)類型,定義方式為:dictionary = {key:value},當有多個鍵值對時,使用逗號進行分割。

字典里的關鍵字為不可變類型,如字符串、整數(shù)、只包含不可變對象的元組,列表等不能作為關鍵字。字典中一個鍵只能與一個值關聯(lián),對于同一個鍵,后添加的值會覆蓋之前的值。

學過數(shù)據(jù)結構的人對字典的散列查找效率應該都有認識,所以我建議在可能的情況下盡量多用字典,其它的就不多寫了。

關于Python數(shù)據(jù)類型在常見集合中的語法有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

網(wǎng)站標題:Python數(shù)據(jù)類型在常見集合中的語法有哪些
新聞來源:http://muchs.cn/article34/ghiise.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、企業(yè)建站、網(wǎng)站排名、App開發(fā)、移動網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設