国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現(xiàn)在的位置是:首頁 » 原創(chuàng)課程 » Python

課程內(nèi)容

Python入門課程NO50課 字典類型的高級理解

極客小將2020-08-19-
1、鍵的輸出順序Python中的字典類型基于哈希表,在Python3.6版本前,字典中的鍵的輸出順序取決于鍵在哈希表中的存儲順序,從Python3.6版本以后,字典中的鍵的輸出順序按其插入的先后順序進行輸出。Python3.6后版本的程序輸出為:    name     price

1、鍵的輸出順序

Python中的字典類型基于哈希表,在Python3.6版本前,字典中的鍵的輸出順序取決于鍵在哈希表中的存儲順序,從Python3.6版本以后,字典中的鍵的輸出順序按其插入的先后順序進行輸出。

Python3.6后版本的程序輸出為:    name     price

Python3.6前版本的輸出可能為:     price    name

2、鍵的數(shù)據(jù)類型

字典中的鍵的數(shù)據(jù)類型必須是靜態(tài)的數(shù)據(jù)類型,迄今為止學(xué)過的靜態(tài)的數(shù)據(jù)類型有:簡單數(shù)據(jù)類型,字符串,元組。列表和字典類型是不可哈希的類型。

3、字典的快速查找

字符串,列表,元組是一種線性的序列結(jié)構(gòu),在不對序列結(jié)構(gòu)進行任何處理時,對元素進行查找需要從頭到尾地進行遍歷。假設(shè)列表中包含1百萬個元素,那么按這種方式來查找,最慢需要比較1百萬次,才能判定元素是否存在于列表中。由此可分析,當數(shù)據(jù)量很大時,使用列表等序列結(jié)構(gòu)來進行元素查找,效率十分低下。字典類型采用哈希表進行實現(xiàn),在理想情況下,只需計算一次鍵名的哈希值,就可以快速地查找元素是否存在于數(shù)據(jù)集合中,即使數(shù)據(jù)集合中存在百萬級,甚至千萬級,億萬級的數(shù)據(jù)量。那么我們接下來介紹哈希表。

4、哈希表結(jié)構(gòu)

哈希表中的編號即為鍵名的哈希值,數(shù)據(jù)表中存儲了哈希值,以及鍵名,鍵值。Python字典的底層實現(xiàn)中,并非直接存儲鍵名,鍵值,存儲的是它們的引用。哈希(hash)函數(shù)又稱為散列函數(shù),計算鍵名的哈希值,就是將字典中的鍵名轉(zhuǎn)換為對應(yīng)的數(shù)字編號。現(xiàn)在來寫個簡單的代碼,來比較列表和字典的查找性能。

從程序的輸出可知,字典的查找速度幾乎是列表的1000倍,數(shù)據(jù)量越大,查找性能越明顯。

預(yù)約試聽課

已有385人預(yù)約都是免費的,你也試試吧...

主站蜘蛛池模板: 新乡县| 察隅县| 玛多县| 天门市| 武穴市| 桂平市| 泸水县| 靖江市| 清苑县| 平塘县| 池州市| 怀柔区| 大姚县| 松阳县| 南川市| 瓦房店市| 靖远县| 齐河县| 札达县| 探索| 江津市| 城口县| 大埔县| 西畴县| 内江市| 株洲市| 西峡县| 洛阳市| 赣榆县| 安国市| 格尔木市| 定安县| 宜兴市| 东城区| 阳新县| 中阳县| 厦门市| 玛沁县| 琼中| 巴彦淖尔市| 平泉县|