【Python_58-66】字典【b站搬運(yùn)_子木】

字典是什么?

內(nèi)置的數(shù)據(jù)結(jié)構(gòu)之一,與列表一樣,是可變序列

格式:“鍵:?值”,鍵值對。相當(dāng)于列表當(dāng)中的一個(gè)元素

鍵值對 的方式存儲(chǔ)數(shù)據(jù),列表:有序(第一個(gè)放進(jìn)去的元素在第一個(gè)位置上) vs 字典:無序

放入字典中的 鍵 ,必須是一個(gè)不可變序列

***不可變序列,就是str字符串等,目前學(xué)到2個(gè)可變序列就是:列表、字典。


哈希函數(shù)

往字典中 存儲(chǔ)數(shù)據(jù)時(shí),要經(jīng)過一個(gè)叫?哈希函數(shù)?的工序——要把??放入到?哈希函數(shù)?中 進(jìn)行一個(gè)計(jì)算(計(jì)算的是存儲(chǔ)位置)——所以要求 鍵 必須是不可變序列(str、int、bool......)。

hash函數(shù)計(jì)算出 鍵入內(nèi)容 所在位置

新建 字典——{}并賦值、dict(name=‘lax,age=21’)

直接用花括號(hào)時(shí),用 冒號(hào): 連接? ? or? ? 用dict()函數(shù)時(shí),用 等號(hào)= 賦值?

查找 字典 元素——對象.get()

最好用get(),直接用[]指定內(nèi)容,會(huì)對不存在的元素查找 報(bào)錯(cuò)

判斷key——print(?in/not in 對象) ;清空所有——對象.clear(),刪除——del 對象

新增、修改——用方括號(hào)指定對象并賦值

新增、修改——用方括號(hào)指定對象并賦值

獲取字典視圖(keys、values、鍵值對)的方法——對象.keys/values/items()并賦值給一個(gè)新對象

及 將獲取的視圖 轉(zhuǎn)換成列表print(list(新對象))

獲取的視圖 類型是字典_鍵/值/鍵值對

字典的遍歷

for in循環(huán)用來遍歷

字典的特點(diǎn)

key不可以重復(fù)(重復(fù) 就被后一個(gè)value覆蓋前一個(gè)value),value可以重復(fù)

key不可以重復(fù)(重復(fù) 就被后一個(gè)value覆蓋前一個(gè)value)

Mike重復(fù),所以23把2覆蓋了

字典會(huì)浪費(fèi)較大內(nèi)存

key之間的空位就是浪費(fèi)的空間,因?yàn)閗ey所在的位置是由 hash函數(shù) 指定的,難以避免會(huì)存在“空位”

字典生成式——for in+zip()的使用

用zip()

格式是:{item:price? ?for item,price in zip(items,prices)}

將item:price 換成 item.upper():price ——> 字符串的小寫變大寫
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容