溫馨提示×

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

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

Python中關(guān)于字典的知識(shí)有哪些

發(fā)布時(shí)間:2021-11-22 17:00:10 來(lái)源:億速云 閱讀:121 作者:iii 欄目:編程語(yǔ)言

本篇內(nèi)容主要講解“Python中關(guān)于字典的知識(shí)有哪些”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“Python中關(guān)于字典的知識(shí)有哪些”吧!

字典(dict)

dic是映射類型,由{}括起來(lái)的鍵值對(duì)組成,在dict中key是唯一的.在保存的時(shí)候,根據(jù)key來(lái)計(jì)算出唯一個(gè)內(nèi)存地址. 然后將key-value保存在這個(gè)地址中.這種算法被稱為hash算法,所以,在dict中存儲(chǔ)的key-value中的key必須是可hash的,如果你搞不懂什什么是可哈希, 暫時(shí)可以這樣記, 可以改變的都是不可哈希的,可哈希就意味著不可變. 這個(gè)是為了能準(zhǔn)確的計(jì)算內(nèi)存地址而規(guī)定的。已知的可哈希(不可變)的數(shù)據(jù)類型: int, str, tuple, bool

不可哈希(可變)的數(shù)據(jù)類型: list, dict, set

語(yǔ)法:{key1: value1, key2: value2....}

dict保存的數(shù)據(jù)不是按照我們添加進(jìn)去的順序保存的. 是按照hash表的順序保存的. 而hash表不是連續(xù)的. 所以不能進(jìn)行切片工作. 它只能通過(guò)key來(lái)獲取dict中的數(shù)據(jù),在3.6之前.打印一個(gè)字典的結(jié)果中鍵值對(duì)的順序都是錯(cuò)亂的,3.6之后,鍵值對(duì)的順序與輸入的順序一致,但是保存的時(shí)候還是無(wú)序的

增加:

1.dict[一個(gè)字典中不存在的key0 = 值, 就會(huì)新增一個(gè)鍵值對(duì)

2.setdefalt():設(shè)置默認(rèn)值,當(dāng)沒(méi)有為一個(gè)key設(shè)置value時(shí),key等于這個(gè)默認(rèn)value,通過(guò)方法1設(shè)置之后,value就會(huì)是設(shè)定的那個(gè)value

刪除:

1.pop(key):類似于list的pop,不過(guò)list使用的是下標(biāo),而dict用的是key

2.del 關(guān)鍵字 用法同list

3.popitem():隨機(jī)刪除一個(gè)鍵值對(duì)

4.clear():清空,一個(gè)不剩

修改:

1.dict[一個(gè)已經(jīng)存在的key] = value 會(huì)對(duì)已有的鍵值對(duì)重新賦值,覆蓋原有的的value

2.dict1.update(dict2):把dict2中的鍵值對(duì)更新到dict1中,key一樣的會(huì)覆蓋,沒(méi)有的鍵值對(duì)會(huì)新增

查詢:

1..dict[一個(gè)已經(jīng)存在的key] 當(dāng)key在dict中不存在的時(shí)候,會(huì)報(bào)錯(cuò)

2.get(key,defalt=None):與方法1不同的是.key不存在的時(shí)候返回None,這個(gè)None可以通過(guò)參數(shù)defalt修改

其他相關(guān)操作:

例:dic = {"id": 123, "name": 'sylar', "age": 18, "ok": "科比"}

1.print(dic.keys) # dict_keys(['id', 'name', 'age', 'ok']) 它的形式類似于list,但是并不是list,print(type(dic.keys))的結(jié)果是 ,但是可以當(dāng)做list來(lái)用,可以進(jìn)行for循環(huán).

for key in dic.keys:

print(key)

2.print(dic.values()) #同keys基本一樣,用法也相同

for value in dic.values:

print(value)

3.print(dic.items()) #dict_items([('id', 123), ('name', 'sylar'), ('age',18), ('ok', '科比')])

for key, value in dic.items:

print(key, value)

*一個(gè)特殊情況:直接遍歷dic,打印的也是key.

for i in dic:

print(i)

到此,相信大家對(duì)“Python中關(guān)于字典的知識(shí)有哪些”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(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