Python?字典(Dictionary)詳細(xì)介紹
字典是另一種可變?nèi)萜髂P?,且可存?chǔ)任意類型對(duì)象。
字典的每個(gè)鍵值 key=>value 對(duì)用冒號(hào) : 分割,每個(gè)鍵值對(duì)之間用逗號(hào) , 分割,整個(gè)字典包括在花括號(hào) {} 中
格式如下所示:
d = {key1 : value1, key2 : value2 }
注意:dict 作為 Python 的關(guān)鍵字和內(nèi)置函數(shù),變量名不建議命名為 dict。
鍵一般是唯一的,如果重復(fù)最后的一個(gè)鍵值對(duì)會(huì)替換前面的,值不需要唯一。
>>> tinydict = {'a': 1, 'b': 2, 'b': '3'} >>> tinydict['b'] '3' >>> tinydict {'a': 1, 'b': '3'}
值可以取任何數(shù)據(jù)類型,但鍵必須是不可變的,如字符串,數(shù)字或元組。
一個(gè)簡(jiǎn)單的字典實(shí)例:
tinydict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
也可如此創(chuàng)建字典:
tinydict1 = { 'abc': 456 } tinydict2 = { 'abc': 123, 98.6: 37 }
1.訪問(wèn)字典里的值
把相應(yīng)的鍵放入熟悉的方括弧,如下實(shí)例:
實(shí)例:
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} ?print "tinydict['Name']: ", tinydict['Name'] print "tinydict['Age']: ", tinydict['Age']
以上實(shí)例輸出結(jié)果:
tinydict['Name']: Zara
tinydict['Age']: 7
如果用字典里沒(méi)有的鍵訪問(wèn)數(shù)據(jù),會(huì)輸出錯(cuò)誤如下:
實(shí)例:
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'} ? print "tinydict['Alice']: ", tinydict['Alice']
以上實(shí)例輸出結(jié)果:
tinydict['Alice']:? Traceback (most recent call last): ? File "test.py", line 5, in <module> ? ? print "tinydict['Alice']: ", tinydict['Alice'] KeyError: 'Alice'
2.修改字典
向字典添加新內(nèi)容的方法是增加新的鍵/值對(duì),修改或刪除已有鍵/值對(duì)如下實(shí)例:
實(shí)例:
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} ? tinydict['Age'] = 8 # 更新 tinydict['School'] = "RUNOOB" # 添加 ? ? print "tinydict['Age']: ", tinydict['Age'] print "tinydict['School']: ", tinydict['School']
以上實(shí)例輸出結(jié)果:
tinydict['Age']: ?8 tinydict['School']: ?RUNOOB
3.刪除字典元素
能刪單一的元素也能清空字典,清空只需一項(xiàng)操作。
顯示刪除一個(gè)字典用del命令,如下實(shí)例:
實(shí)例:
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} ? del tinydict['Name'] ?# 刪除鍵是'Name'的條目 tinydict.clear() ? ? ?# 清空字典所有條目 del tinydict ? ? ? ? ?# 刪除字典 ? print "tinydict['Age']: ", tinydict['Age']? print "tinydict['School']: ", tinydict['School']
但這會(huì)引發(fā)一個(gè)異常,因?yàn)橛胐el后字典不再存在:
tinydict['Age']:? Traceback (most recent call last): ? File "test.py", line 10, in <module> ? ? print "tinydict['Age']: ", tinydict['Age']? NameError: name 'tinydict' is not defined
注:del()
方法后面也會(huì)討論。
3.1字典鍵的特性
字典值可以沒(méi)有限制地取任何 python
對(duì)象,既可以是標(biāo)準(zhǔn)的對(duì)象,也可以是用戶定義的,但鍵不行。
兩個(gè)重要的點(diǎn)需要記?。?/strong>
- 1)不允許同一個(gè)鍵出現(xiàn)兩次。創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記住,
如下實(shí)例:
?tinydict = {'Name': 'Runoob', 'Age': 7, 'Name': 'Manni'}? ? print "tinydict['Name']: ", tinydict['Name']
以上實(shí)例輸出結(jié)果:
tinydict['Name']: ?Manni
- 2)鍵必須不可變,所以可以用數(shù)字,字符串或元組充當(dāng),所以用列表就不行,
如下實(shí)例:
tinydict = {['Name']: 'Zara', 'Age': 7}? ? print "tinydict['Name']: ", tinydict['Name']
以上實(shí)例輸出結(jié)果:
Traceback (most recent call last):
File "test.py", line 3, in <module>
tinydict = {['Name']: 'Zara', 'Age': 7}
TypeError: unhashable type: 'list'
4.字典內(nèi)置函數(shù)&方法
Python字典包含了以下內(nèi)置函數(shù):
序號(hào) | 函數(shù)及描述 |
---|---|
1 | cmp(dict1, dict2)比較兩個(gè)字典元素。 |
2 | len(dict)計(jì)算字典元素個(gè)數(shù),即鍵的總數(shù)。 |
3 | str(dict)輸出字典可打印的字符串表示。 |
4 | type(variable)返回輸入的變量類型,如果變量是字典就返回字典類型。 |
Python字典包含了以下內(nèi)置方法:
序號(hào) | 函數(shù)及描述 |
---|---|
1 | dict.clear()刪除字典內(nèi)所有元素 |
2 | dict.copy()返回一個(gè)字典的淺復(fù)制 |
3 | dict.fromkeys(seq[, val])創(chuàng)建一個(gè)新字典,以序列 seq 中元素做字典的鍵,val 為字典所有鍵對(duì)應(yīng)的初始值 |
4 | dict.get(key, default=None)返回指定鍵的值,如果值不在字典中返回default值 |
5 | dict.has_key(key)如果鍵在字典dict里返回true,否則返回false |
6 | dict.items()以列表返回可遍歷的(鍵, 值) 元組數(shù)組 |
7 | dict.keys()以列表返回一個(gè)字典所有的鍵 |
8 | dict.setdefault(key, default=None)和get()類似, 但如果鍵不存在于字典中,將會(huì)添加鍵并將值設(shè)為default |
9 | dict.update(dict2)把字典dict2的鍵/值對(duì)更新到dict里 |
10 | dict.values()以列表返回字典中的所有值 |
11 | pop(key[,default])刪除字典給定鍵 key 所對(duì)應(yīng)的值,返回值為被刪除的值。key值必須給出。 否則,返回default值。 |
12 | popitem()返回并刪除字典中的最后一對(duì)鍵和值。 |
到此這篇關(guān)于Python 字典(Dictionary)詳細(xì)介紹的文章就介紹到這了,更多相關(guān)Python 字典(Dictionary)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
零基礎(chǔ)學(xué)習(xí)python偏函數(shù)語(yǔ)法的推導(dǎo)方法步驟
這篇文章主要介紹了零基礎(chǔ)學(xué)習(xí)python偏函數(shù)語(yǔ)法的推導(dǎo)方法步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06Python通過(guò)30秒就能學(xué)會(huì)的漂亮短程序代碼(過(guò)程全解)
這篇文章主要介紹了Python之30秒就能學(xué)會(huì)的漂亮短程序代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10python面向?qū)ο笕腴T教程之從代碼復(fù)用開始(一)
這篇文章主要給大家介紹了關(guān)于python面向?qū)ο笕腴T教程之從代碼復(fù)用開始的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們來(lái)一起看看吧2018-12-12Python數(shù)據(jù)結(jié)構(gòu)之優(yōu)先級(jí)隊(duì)列queue用法詳解
queue庫(kù)提供了一個(gè)適用于多線程編程的先進(jìn)先出(FIFO)數(shù)據(jù)結(jié)構(gòu),可以用來(lái)在生產(chǎn)者與消費(fèi)者線程之間安全地傳遞消息或其他數(shù)據(jù),它會(huì)為調(diào)用者處理鎖定,使多個(gè)線程可以安全而更容易地處理同一個(gè)Queue實(shí)例.Queue的大小可能受限,以限制內(nèi)存使用或處理,需要的朋友可以參考下2021-05-05分享python中matplotlib指定繪圖顏色的八種方式
這篇文章主要給大家分享的是python中matplotlib指定繪圖顏色的八種方式,在使用matplotlib的pyplot庫(kù)進(jìn)行繪圖時(shí),經(jīng)常會(huì)發(fā)現(xiàn)各種開源代碼指定“color”的方式并不一致,下面就向大家展示8種指定color的方式,需要的朋友可以參考一下2022-03-03如何用Python做一個(gè)微信機(jī)器人自動(dòng)拉群
這篇文章主要介紹了如何用Python做一個(gè)微信機(jī)器人自動(dòng)拉群,微當(dāng)群人數(shù)達(dá)到100人后,用戶無(wú)法再通過(guò)掃描群二維碼加入,只能讓用戶先添加群內(nèi)聯(lián)系人微信,再由聯(lián)系人把用戶拉進(jìn)來(lái)。這樣,聯(lián)系人員的私人微信會(huì)添加大量陌生人,給其帶來(lái)不必要的打擾,需要的朋友可以參考下2019-07-07Python中生成一個(gè)指定長(zhǎng)度的隨機(jī)字符串實(shí)現(xiàn)示例
這篇文章主要介紹了Python中生成一個(gè)指定長(zhǎng)度的隨機(jī)字符串,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Django通用類視圖實(shí)現(xiàn)忘記密碼重置密碼功能示例
今天小編就為大家分享一篇Django通用類視圖實(shí)現(xiàn)忘記密碼重置密碼功能示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Gradio機(jī)器學(xué)習(xí)模型快速部署工具接口狀態(tài)
這篇文章主要為大家介紹了Gradio機(jī)器學(xué)習(xí)模型快速部署工具接口狀態(tài)的原文翻譯,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04