国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python】Python dict (字典)詳解

這篇具有很好參考價(jià)值的文章主要介紹了【Python】Python dict (字典)詳解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

字典概念

Python 字典(dict)是一種無(wú)序的、可變的序列,它的元素以“鍵值對(duì)(key-value)”的形式存儲(chǔ)。相對(duì)地,列表(list)和元組(tuple)都是有序的序列,它們的元素在底層是挨著存放的。
字典類(lèi)型是 Python 中唯一的映射類(lèi)型?!坝成洹笔菙?shù)學(xué)中的術(shù)語(yǔ),簡(jiǎn)單理解,它指的是元素之間相互對(duì)應(yīng)的關(guān)系,即通過(guò)一個(gè)元素,可以唯一找到另一個(gè)元素。如圖 1 所示。
python字典,Python,python,開(kāi)發(fā)語(yǔ)言
字典中,習(xí)慣將各元素對(duì)應(yīng)的索引稱為鍵(key),各個(gè)鍵對(duì)應(yīng)的元素稱為值(value),鍵及其關(guān)聯(lián)的值稱為“鍵值對(duì)”。
字典類(lèi)型很像學(xué)生時(shí)代常用的新華字典。我們知道,通過(guò)新華字典中的音節(jié)表,可以快速找到想要查找的漢字。
其中,字典里的音節(jié)表就相當(dāng)于字典類(lèi)型中的鍵,而鍵對(duì)應(yīng)的漢字則相當(dāng)于值。
總的來(lái)說(shuō),字典類(lèi)型所具有的主要特征如表 1 所示。

主要特征 解釋
通過(guò)鍵而不是通過(guò)索引來(lái)讀取元素 字典類(lèi)型有時(shí)也稱為關(guān)聯(lián)數(shù)組或者散列表(hash)。它是通過(guò)鍵將一系列的值聯(lián)系起來(lái)的,這樣就可以通過(guò)鍵從字典中獲取指定項(xiàng),但不能通過(guò)索引來(lái)獲取。
字典是任意數(shù)據(jù)類(lèi)型的無(wú)序集合 和列表、元組不同,通常會(huì)將索引值 0 對(duì)應(yīng)的元素稱為第一個(gè)元素,而字典中的元素是無(wú)序的。
字典是可變的,并且可以任意嵌套 字典可以在原處增長(zhǎng)或者縮短(無(wú)需生成一個(gè)副本),并且它支持任意深度的嵌套,即字典存儲(chǔ)的值也可以是列表或其它的字典。
字典中的鍵必須唯一 字典中,不支持同一個(gè)鍵出現(xiàn)多次,否則只會(huì)保留最后一個(gè)鍵值對(duì)。
字典中的鍵必須不可變 可變字典中每個(gè)鍵值對(duì)的鍵是不可變的,只能使用數(shù)字、字符串或者元組,不能使用列表。

和列表、元組一樣,字典也有它自己的類(lèi)型。Python 中,字典的數(shù)據(jù)類(lèi)型為 dict,通過(guò) type() 函數(shù)即可查看:

>>> a = {'one': 1, 'two': 2, 'three': 3} #a 是一個(gè)字典類(lèi)型
>>> type(a)
<class 'dict'>

Python 創(chuàng)建字典

使用 { } 創(chuàng)建字典

由于字典中每個(gè)元素都包含兩部分,分別是鍵(key)和值(value),因此在創(chuàng)建字典時(shí),鍵和值之間使用冒號(hào):分隔,相鄰元素之間使用逗號(hào),分隔,所有元素放在大括號(hào){ }中。
使用{ }創(chuàng)建字典的語(yǔ)法格式如下:

dictname = {'key':'value1', 'key2':'value2', ..., 'keyn':valuen}

其中 dictname 表示字典變量名,keyn : valuen 表示各個(gè)元素的鍵值對(duì)。需要注意的是,同一字典中的各個(gè)鍵必須唯一,不能重復(fù)。
如下代碼示范了使用花括號(hào)語(yǔ)法創(chuàng)建字典:

1. #使用字符串作為 key
2. scores = {'數(shù)學(xué)': 95, '英語(yǔ)': 92, '語(yǔ)文': 84}
3. print(scores)
4.
5. #使用元組和數(shù)字作為 key
6. dict1 = {(20, 30): 'great', 30: [1,2,3]}
7. print(dict1)
8.
9. #創(chuàng)建空元組
10. dict2 = {}
11. p p rint(dict2)

運(yùn)行結(jié)果為:

{'數(shù)學(xué)': 95, '英語(yǔ)': 92, '語(yǔ)文': 84}
{(20, 30): 'great', 30: [1, 2, 3]}
{}

可以看到,字典的鍵可以是整數(shù)、字符串或者元組,只要符合唯一和不可變的特性就行;字典的值可以是Python 支持的任意數(shù)據(jù)類(lèi)型。

通過(guò) fromkeys() 方法創(chuàng)建字典

Python 中,還可以使用 dict 字典類(lèi)型提供的 fromkeys() 方法創(chuàng)建帶有默認(rèn)值的字典,具體格式為:

dictname = dict.fromkeys(list,value=None)

其中,list 參數(shù)表示字典中所有鍵的列表(list);value 參數(shù)表示默認(rèn)值,如果不寫(xiě),則為空值 None。
請(qǐng)看下面的例子:

1. knowledge = ['語(yǔ)文', '數(shù)學(xué)', '英語(yǔ)']
2. scores = dict.fromkeys(knowledge, 60)
3. print(scores)

運(yùn)行結(jié)果為:

{'語(yǔ)文': 60, '英語(yǔ)': 60, '數(shù)學(xué)': 60}

可以看到,knowledge 列表中的元素全部作為了 scores 字典的鍵,而各個(gè)鍵對(duì)應(yīng)的值都是 60。這種創(chuàng)建方式通常用于初始化字典,設(shè)置 value 的默認(rèn)值。

通過(guò) dict() 映射函數(shù)創(chuàng)建字典

通過(guò) dict() 函數(shù)創(chuàng)建字典的寫(xiě)法有多種,表 2 羅列出了常用的幾種方式,它們創(chuàng)建的都是同一個(gè)字典 a。

創(chuàng)建格式 注意事項(xiàng)
a = dict(str1=value1, str2=value2,str3=value3) str 表示字符串類(lèi)型的鍵,value 表示鍵對(duì)應(yīng)的值。使用此方式創(chuàng)建字典時(shí),字符串不能帶引號(hào)。
#方式 1demo = [(‘two’,2), (‘one’,1),(‘three’,3)]#方式 2demo = [[‘two’,2], [‘one’,1],[‘three’,3]]#方式 3demo = ((‘two’,2), (‘one’,1),(‘three’,3))#方式 4demo = ([‘two’,2], [‘one’,1], [‘three’,3])a = dict(demo) 向 dict() 函數(shù)傳入列表或元組,而它們中的元素又各自是包含 2 個(gè)元素的列表或元組,其中第一個(gè)元素作為鍵,第二個(gè)元素作為值。
keys = [‘one’, ‘two’, ‘three’] #還可以是字符串或元組values = [1, 2, 3] #還可以是字符串或元組a = dict( zip(keys, values) ) 通過(guò)應(yīng)用 dict() 函數(shù)和 zip() 函數(shù),可將前兩個(gè)列表轉(zhuǎn)換為對(duì)應(yīng)的字典

注意,無(wú)論采用以上哪種方式創(chuàng)建字典,字典中各元素的鍵都只能是字符串、元組或數(shù)字,不能是列表。列表
是可變的,不能作為鍵。

如果不為 dict() 函數(shù)傳入任何參數(shù),則代表創(chuàng)建一個(gè)空的字典,例如:

1. # 創(chuàng)建空的字典
2. d = dict()
3. print(d)

運(yùn)行結(jié)果為:

{}

Python 訪問(wèn)字典

列表和元組是通過(guò)下標(biāo)來(lái)訪問(wèn)元素的,而字典不同,它通過(guò)鍵來(lái)訪問(wèn)對(duì)應(yīng)的值。因?yàn)樽值渲械脑厥菬o(wú)序的,每個(gè)元素的位置都不固定,所以字典也不能像列表和元組那樣,采用切片的方式一次性訪問(wèn)多個(gè)元素。
Python 訪問(wèn)字典元素的具體格式為:

dictname[key]

其中,dictname 表示字典變量的名字,key 表示鍵名。注意,鍵必須是存在的,否則會(huì)拋出異常。
請(qǐng)看下面的例子:

1. tup = (['two',26], ['one',88], ['three',100], ['four',-59])
2. dic = dict(tup)
3. print(dic['one']) #鍵存在
4. print(dic['five']) #鍵不存在

運(yùn)行結(jié)果:

88
Traceback (most recent call last):
 File "C:\Users\mozhiyan\Desktop\demo.py", line 4, in <module>
print(dic['five']) #鍵不存在
KeyError: 'five'

除了上面這種方式外,Python 更推薦使用 dict 類(lèi)型提供的 get() 方法來(lái)獲取指定鍵對(duì)應(yīng)的值。當(dāng)指定的鍵不存在時(shí),get() 方法不會(huì)拋出異常。
get() 方法的語(yǔ)法格式為:

dictname.get(key[,default])

其中,dictname 表示字典變量的名字;key 表示指定的鍵;default 用于指定要查詢的鍵不存在時(shí),此方法返回的默認(rèn)值,如果不手動(dòng)指定,會(huì)返回 None。
get() 使用示例:

1. a = dict(two=0.65, one=88, three=100, four=-59)
2. print( a.get('one') )

運(yùn)行結(jié)果:

88

注意,當(dāng)鍵不存在時(shí),get() 返回空值 None,如果想明確地提示用戶該鍵不存在,那么可以手動(dòng)設(shè)置 get() 的第二個(gè)參數(shù),例如:

1. a = dict(two=0.65, one=88, three=100, four=-59)
2. print( a.get('five', '該鍵不存在') )

運(yùn)行結(jié)果:

該鍵不存在

Python 刪除字典

和刪除列表、元組一樣,手動(dòng)刪除字典也可以使用 del 關(guān)鍵字,例如:

1. a = dict(two=0.65, one=88, three=100, four=-59)
2. print(a)
3. del a
4. print(a)

運(yùn)行結(jié)果:

{'two': 0.65, 'one': 88, 'three': 100, 'four': -59}
Traceback (most recent call last):
File "C:\Users\mozhiyan\Desktop\demo.py", line 4, in <module>
print(a)
NameError: name 'a' is not defined

Python 自帶垃圾回收功能,會(huì)自動(dòng)銷(xiāo)毀不用的字典,所以一般不需要通過(guò) del 來(lái)手動(dòng)刪除。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-841012.html

到了這里,關(guān)于【Python】Python dict (字典)詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python的數(shù)據(jù)類(lèi)型——字典(dict)

    目錄 1. Python的數(shù)據(jù)類(lèi)型 2. 什么是字典 3. 字典存儲(chǔ)的數(shù)據(jù) 4. 字典的語(yǔ)法 ?5. 新建字典 (1) 用{ }新建一個(gè)空字典

    2024年02月06日
    瀏覽(19)
  • python中Dict 字典類(lèi)型(鍵值對(duì))

    字典也是用于存儲(chǔ)一組或者多組數(shù)據(jù)時(shí)使用 字典是 鍵值對(duì) 的存儲(chǔ)方式 name : admin 鍵和值之間使用 冒號(hào)分隔 鍵必須是字符串或者數(shù)字類(lèi)型,鍵可以是任意類(lèi)型 鍵名不能重復(fù),值可以重復(fù) 比如需要記錄一本樹(shù)相關(guān)數(shù)據(jù) 書(shū)名,作者,價(jià)格… vard = [{‘title’:’鬼谷子’,‘a(chǎn)uthor’:‘鬼

    2023年04月09日
    瀏覽(24)
  • Python中dict字典的多種遍歷方式

    可以使用 for key in dict 遍歷字典中所有的鍵 字典提供了 keys () 方法返回字典中所有的鍵 字典提供了 values () 方法返回字典中所有的值 字典提供了 items () 方法返回字典中所有的鍵值對(duì) item 鍵值對(duì) item 是一個(gè)元組(第 0 項(xiàng)是鍵、第 1 項(xiàng)是值) 例子

    2024年02月08日
    瀏覽(26)
  • Python 將字典(dict)轉(zhuǎn)換為DataFrame

    1.將字典轉(zhuǎn)換為 Pandas DataFame 的方法 Pandas 的 DataFrame 構(gòu)造函數(shù)pd.DataFrame()如果將字典的 items 作為構(gòu)造函數(shù)的參數(shù)而不是字典本身,則將字典轉(zhuǎn)換為 dataframe。 字典的鍵和值將轉(zhuǎn)換為DataFrame的兩列,其列名如選項(xiàng)列中所給。 輸出為: 2.在 Pandas DataFrame 中將鍵轉(zhuǎn)換為列,將值轉(zhuǎn)換

    2024年02月13日
    瀏覽(26)
  • Python之字典(dict)基礎(chǔ)知識(shí)點(diǎn)

    Python之字典(dict)基礎(chǔ)知識(shí)點(diǎn)

    字典是python當(dāng)中的一種數(shù)據(jù)類(lèi)型,其結(jié)果跟之前學(xué)過(guò)的列表、元組有很大區(qū)別,字典內(nèi)部是一個(gè)一對(duì)一映射的數(shù)據(jù)關(guān)系。 字典語(yǔ)法: dictionary = {key1:value1, key2:value2, ...} key是字典中的鍵,value是對(duì)應(yīng)的值 字典必須用大括號(hào){},key與對(duì)應(yīng)的value用“:”連接,中間用“,”斷開(kāi)。

    2024年02月13日
    瀏覽(23)
  • Python教程(11)——Python中的字典dict的用法介紹

    Python教程(11)——Python中的字典dict的用法介紹

    列表雖然好,但是如果需要快速的數(shù)據(jù)查找,就必須進(jìn)行需要遍歷,也就是最壞情況需要遍歷完一遍才能找到需要的那個(gè)數(shù)據(jù),時(shí)間復(fù)雜度是O(n),顯然這個(gè)速度是很難接受的,于是就必須要有新的數(shù)據(jù)結(jié)構(gòu)出現(xiàn),于是字典就誕生了! 在Python中,字典(Dictionary)是一種無(wú)序的

    2024年02月10日
    瀏覽(25)
  • 五分鐘快速掌握Python中dict(字典)的詳細(xì)使用方法

    五分鐘快速掌握Python中dict(字典)的詳細(xì)使用方法

    目錄 概念: dict的定義格式: dict的使用方法: 定義空字典的兩種方法: dict.clear: ?copy: copy:淺拷貝 deepcopy:深拷貝 get: ?items: ?keys: ?popitem: ?setdefault: ?update: ?values: dict----dictionary ?字典: 根據(jù)去獲取內(nèi)容 不能重復(fù) 必須是不可變的數(shù)據(jù)類(lèi)型

    2024年02月12日
    瀏覽(26)
  • Python dict字典基本操作(包括添加、修改、刪除鍵值對(duì))

    由于字典屬于可變序列,所以我們可以任意操作字典中的鍵值對(duì)(key-value)。Python 中,常見(jiàn)的字典操作有以下幾種: 向現(xiàn)有字典中添加新的鍵值對(duì)。 修改現(xiàn)有字典中的鍵值對(duì)。 從現(xiàn)有字典中刪除指定的鍵值對(duì)。 判斷現(xiàn)有字典中是否存在指定的鍵值對(duì)。 初學(xué)者要牢記,字典

    2024年02月08日
    瀏覽(29)
  • [excel與dict] python 讀取excel內(nèi)容并放入字典、將字典內(nèi)容寫(xiě)入 excel文件

    一 讀取excel內(nèi)容、并放入字典 1 讀取excel文件 2 讀取value,舍棄行號(hào) 3 讀取為字典 一 讀取excel內(nèi)容、并放入字典(完整代碼) 二、將字典內(nèi)容寫(xiě)入 excel文件 1 假設(shè)已有字典內(nèi)容為: 即student列表里有4個(gè)字典, 第一個(gè)字典里面有3對(duì)key-value \\\"num\\\": 1, \\\"name\\\": \\\"cod1\\\", \\\"wfm\\\": 0.1 2 導(dǎo)入Workb

    2024年02月04日
    瀏覽(31)
  • 【Python】對(duì)key或values是datetime類(lèi)型或時(shí)間字符串的字典dict排序

    當(dāng)字典的key是時(shí)間字符串類(lèi)型,如下 time_dict = {‘2021-05-18’: 119, ‘2021-06-05’: 119, ‘2020-12-10’: 116, ‘2021-04-19’: 110, ‘2020-12-04’: 108, ‘2021-04-13’: 106, ‘2020-12-08’: 106, ‘2020-09-12’: 103, ‘2021-05-14’: 101, ‘2021-05-08’: 100, ‘2021-01-09’: 99, ‘2020-12-09’: 99, ‘2021-06-25’: 99, ‘

    2023年04月08日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包