溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python中列表和字典的區(qū)別是什么

發(fā)布時(shí)間:2020-09-10 09:38:31 來源:億速云 閱讀:545 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下python中列表和字典的區(qū)別是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

列表是序列,可以理解為數(shù)據(jù)結(jié)構(gòu)中的數(shù)組,字典可以理解為數(shù)據(jù)結(jié)構(gòu)中的hashmap。

他倆都可以作為集合來存儲(chǔ)數(shù)據(jù)

從差異特征上來說

1. list是有序的,dict是無(wú)需的

2. list通過索引訪問,dict使用key訪問

3. list隨著數(shù)量的正常增長(zhǎng)要想查找元素的時(shí)間復(fù)雜度為O(n), dict不隨數(shù)量而增長(zhǎng)而變化,時(shí)間負(fù)責(zé)都為O(1)

4. dict的占用內(nèi)存稍比list大,會(huì)在1.5倍左右

特征決定用途:

list一般可作為隊(duì)列、堆棧使用,而dict一般作為聚合統(tǒng)計(jì)或者快速使用特征訪問等

從應(yīng)用場(chǎng)景來說:

list 是記錄簡(jiǎn)單有序數(shù)據(jù)的,就是一對(duì)一的那種,可以理解為一維數(shù)組.

比如你記錄貓的名字,就可以用list = ['第1只貓名字','第2只貓名字'] ...

比如你記錄飯店的菜品,就可以用list = ['第1個(gè)菜紅燒肉','第2個(gè)菜紅燒大腸',第3個(gè)菜'紅燒排骨'] ...

這里的記錄,是多條記錄重復(fù)的,需要按一定順序來記錄.

list 也可以有嵌套,嵌套里面的list仍然可以理解為一維數(shù)組

比如常見的季度與月份的關(guān)系 list = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]

又或者你從excel讀取一行數(shù)據(jù),存到list中,也需要用到list嵌套

又或者你從SQL讀取一行數(shù)據(jù),存到list中,也會(huì)用的list嵌套.

這里的記錄,是多條按一定順序存放的,仍然需要按一定順序來讀取存放。

dict 是記錄復(fù)雜無(wú)序數(shù)據(jù),就是一對(duì)多,可以理解為多維數(shù)組.

比如你記錄一次野餐朋友帶的食物數(shù)量, dict = {'小明':{'紅燒肉':6,'大閘蟹':8,'水煮魚':1},'小花':{'黃瓜':9,'番茄':2},'小六子':{'啤酒':30,'可樂':40}}

dict可以嵌套list,把無(wú)序的數(shù)據(jù)調(diào)整為有序的數(shù)據(jù),可以簡(jiǎn)單地理解為,一對(duì)多個(gè)一維數(shù)組,本質(zhì)上還是多維數(shù)組.

比如你要記錄同學(xué)們有多少個(gè)女朋友,dict = {'小明':['1號(hào)女友','2號(hào)女友'],'大個(gè)子':['1號(hào)女友','2號(hào)女友','3號(hào)女友']},你要統(tǒng)計(jì)誰(shuí)的女朋友多,這個(gè)就比較明顯地體現(xiàn)出來了.

以上是python中列表和字典的區(qū)別是什么的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI