亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python字典的基本使用

系統(tǒng) 1771 0

前言

相比于列表,字典是更為靈活的一種數(shù)據(jù)結(jié)構(gòu)。它能將相關(guān)信息關(guān)聯(lián)起來(lái),本文中我們一起來(lái)學(xué)習(xí) Python字典 的基本用法,即如何添加、訪問(wèn)、修改和刪除字典中的信息。

在這里插入圖片描述

1.最簡(jiǎn)單的字典

在學(xué)習(xí)Python字典之前,我們一起來(lái)看一下字典到底是個(gè)什么玩意兒,這樣有助于對(duì)其建立大體的印象,把抽象的概念具體化。

舉個(gè)例子,假如你正在幫助學(xué)校開(kāi)發(fā)學(xué)生管理系統(tǒng),需要保存單個(gè)學(xué)生的詳細(xì)信息(學(xué)號(hào)、姓名、性別、年齡等),你會(huì)怎么做?

這種問(wèn)題隨著我們學(xué)習(xí) Python 的逐步深入,解決方法也多種多樣。

如果是個(gè)初學(xué)者,只學(xué)了基本數(shù)據(jù)類型:

            
              num 
              
                =
              
              
                '123456'
              
              
                # 學(xué)號(hào)
              
              
name 
              
                =
              
              
                'kelvin'
              
              
                # 姓名
              
              
age 
              
                =
              
              
                18
              
              
                # 年齡
              
              
gender 
              
                =
              
              
                'male'
              
              
                # 性別
              
            
          

這樣做數(shù)據(jù)是保存了,但是在實(shí)際開(kāi)發(fā)中,往往需要保存多個(gè)學(xué)生的信息。

初學(xué)者往往會(huì)這樣解決問(wèn)題:

            
              num1 
              
                =
              
              
                '123456'
              
              
name1 
              
                =
              
              
                'kelvin'
              
              
age1 
              
                =
              
              
                18
              
              
gender1 
              
                =
              
              
                'male'
              
              

num2 
              
                =
              
              
                '654321'
              
              
name2 
              
                =
              
              
                'vicky'
              
              
age2 
              
                =
              
              
                20
              
              
gender2 
              
                =
              
              
                'female'
              
              
                .
              
              
                .
              
              
                .
              
              
                .
              
              
                .
              
              
                .
              
            
          

看似解決了保存多個(gè)學(xué)生的問(wèn)題,但還是有些問(wèn)題:

  1. 沒(méi)有清晰的結(jié)構(gòu),我們?cè)谶壿嬌峡梢灾纍um1,name1,age1,gender1是屬于學(xué)生1的信息,但是代碼里卻沒(méi)有某種結(jié)構(gòu)表示這種從屬關(guān)系。

  2. 命名難度太大,一個(gè)學(xué)生有4個(gè)屬性(學(xué)號(hào)、姓名、性別、年齡),兩個(gè)學(xué)生就得寫(xiě)8個(gè)不重名變量,如果一個(gè)班有40個(gè)學(xué)生(不算多吧)就得寫(xiě)160個(gè)不重名變量。有人會(huì)覺(jué)得在變量名后面加數(shù)字的方法不錯(cuò),卻不利于記憶。

隨著我們的深入的學(xué)習(xí),知道了列表結(jié)構(gòu),覺(jué)得列表應(yīng)該能解決這些問(wèn)題,于是我們這樣寫(xiě):

            
              student1 
              
                =
              
              
                [
              
              
                '123456'
              
              
                ,
              
              
                'kelvin'
              
              
                ,
              
              
                18
              
              
                ,
              
              
                'male'
              
              
                ]
              
              
student2 
              
                =
              
              
                [
              
              
                '654321'
              
              
                ,
              
              
                'vicky'
              
              
                ,
              
              
                20
              
              
                ,
              
              
                'female'
              
              
                ]
              
            
          

這樣子給人的感覺(jué)確實(shí)是整潔了不少,而且數(shù)據(jù)之間有了明顯的從屬關(guān)系,第一個(gè)方括號(hào)( [] )里面的數(shù)據(jù)都是學(xué)生1的,第二個(gè)方括號(hào)( [] )里的數(shù)據(jù)都是學(xué)生2的。

而且命名難度大大降低,一個(gè)班如果有40個(gè)同學(xué)的話,也只需要有40個(gè)不重名變量即可。

Python字典的基本使用_第1張圖片

列表的使用又會(huì)導(dǎo)致新的問(wèn)題:列表內(nèi)部存儲(chǔ)數(shù)據(jù)混亂,比如我們想取學(xué)生的姓名,必須記得學(xué)生姓名的下標(biāo)對(duì)應(yīng)的是1,存儲(chǔ)學(xué)生信息的時(shí)候要按順序(學(xué)號(hào)-姓名-年齡-性別)存取,這個(gè)記憶成本就很高,一不小心就會(huì)犯錯(cuò)。

但是今天學(xué)了 Python字典,這些問(wèn)題統(tǒng)統(tǒng)不復(fù)存在:

            
              student1 
              
                =
              
              
                {
              
              
                'num'
              
              
                :
              
              
                '123456'
              
              
                ,
              
              
                'name'
              
              
                :
              
              
                'kelvin'
              
              
                ,
              
              
                'age'
              
              
                :
              
              
                18
              
              
                ,
              
              
                'gender'
              
              
                :
              
              
                'male'
              
              
                }
              
              
student2 
              
                =
              
              
                {
              
              
                'num'
              
              
                :
              
              
                '654321'
              
              
                ,
              
              
                'name'
              
              
                :
              
              
                'vicky'
              
              
                ,
              
              
                'age'
              
              
                :
              
              
                20
              
              
                ,
              
              
                'gender'
              
              
                :
              
              
                'female'
              
              
                }
              
            
          

Python字典的基本使用_第2張圖片

雖然可能看不懂這些代碼的含義,但應(yīng)該可以看出來(lái),第一個(gè)花括號(hào)( {} )里面的數(shù)據(jù)是從屬于學(xué)生1的,第二個(gè)花括號(hào)( {} )里的數(shù)據(jù)是從屬于學(xué)生2的。并且花括號(hào)( {} )內(nèi)部數(shù)據(jù)結(jié)構(gòu)清晰,用鍵值對(duì)的形式,表示出了各個(gè)數(shù)據(jù)代表的含義。

比如我想取出學(xué)生1的姓名,可以這樣寫(xiě) student1['name']

相信現(xiàn)在大家對(duì)字典的作用有了起碼的認(rèn)識(shí),下面我們來(lái)具體談?wù)勛值湓趺词褂谩?

Python字典的基本使用_第3張圖片

2.字典的使用

在Python中,字典是 一系列鍵值對(duì) ,每個(gè)鍵都與一個(gè)值相關(guān)聯(lián),你 可以使用鍵來(lái)訪問(wèn)與之相關(guān)聯(lián)的值 。

與鍵相關(guān)聯(lián)的的值可以是數(shù)字、字符串、列表乃至字典 。事實(shí)上,你 可以將任何Python對(duì)象用作字典中的值

在 Python 中,字典用放在花括號(hào){}中的一系列鍵值對(duì)表示,如前面的示例:

            
              student1 
              
                =
              
              
                {
              
              
                'num'
              
              
                :
              
              
                '123456'
              
              
                ,
              
              
                'name'
              
              
                :
              
              
                'kelvin'
              
              
                ,
              
              
                'age'
              
              
                :
              
              
                18
              
              
                ,
              
              
                'gender'
              
              
                :
              
              
                'male'
              
              
                }
              
            
          

鍵值對(duì)是兩個(gè)相關(guān)聯(lián)的值。指定鍵時(shí),Python將返回與之相關(guān)聯(lián)的值。 鍵和值之間用冒號(hào)分隔,而鍵值對(duì)之間用逗號(hào)分隔

在字典中,只要你電腦性能足夠,你想存多少鍵值對(duì)都可以。

2.1訪問(wèn)字典中的值

訪問(wèn)字典中的值比較簡(jiǎn)單,如果我們有個(gè)student字典,我想訪問(wèn)學(xué)生的學(xué)號(hào)和姓名,可以如下:

            
              student 
              
                =
              
              
                {
              
              
                'num'
              
              
                :
              
              
                '123456'
              
              
                ,
              
              
                'name'
              
              
                :
              
              
                'kelvin'
              
              
                }
              
              
                print
              
              
                (
              
              student
              
                [
              
              
                'num'
              
              
                ]
              
              
                )
              
              
                print
              
              
                (
              
              student
              
                [
              
              
                'name'
              
              
                ]
              
              
                )
              
            
          

上述代碼將輸出字典 student 中與 num name 相關(guān)聯(lián)的值。

運(yùn)行結(jié)果如圖2-1:

圖2-1

圖2-1

2.2往字典中添加鍵值對(duì)

字典是一種動(dòng)態(tài)結(jié)構(gòu),可隨時(shí)在其中添加鍵值對(duì)。

要添加鍵值對(duì),可依次指定字典名、用方括號(hào)[]括起來(lái)的鍵和相關(guān)聯(lián)的值。

2.2.1向已有字典中添加鍵值對(duì)

下面在字典student中添加兩項(xiàng)信息:年齡和性別。如下所示:

            
              student 
              
                =
              
              
                {
              
              
                'num'
              
              
                :
              
              
                '123456'
              
              
                ,
              
              
                'name'
              
              
                :
              
              
                'kelvin'
              
              
                }
              
              
                print
              
              
                (
              
              student
              
                )
              
              

student
              
                [
              
              
                'age'
              
              
                ]
              
              
                =
              
              
                18
              
              
student
              
                [
              
              
                'gender'
              
              
                ]
              
              
                =
              
              
                'male'
              
              
                print
              
              
                (
              
              student
              
                )
              
            
          

我們首先定義了前面一直在使用的字典student,然后打印了這個(gè)字典,顯示其未添加鍵值對(duì)時(shí)的信息。

然后我們?cè)谶@個(gè)新字典中新增了兩個(gè)鍵值對(duì)( age gender )。

運(yùn)行結(jié)果如圖2-2:

圖2-2

圖2-2

可以看到,以age和gender為鍵的鍵值對(duì)已經(jīng)添加進(jìn)student字典中了。

2.2.2創(chuàng)建空字典然后添加鍵值對(duì)

有的時(shí)候我們需要先創(chuàng)建一個(gè)空字典,然后往里面添加鍵值對(duì)。

可以先使用一對(duì)花括號(hào){}定義一個(gè)字典,然后再添加各個(gè)鍵值對(duì)。

我們用這種方式創(chuàng)建學(xué)生student字典:

            
              student 
              
                =
              
              
                {
              
              
                }
              
              

student
              
                [
              
              
                'num'
              
              
                ]
              
              
                =
              
              
                '123456'
              
              
student
              
                [
              
              
                'name'
              
              
                ]
              
              
                =
              
              
                'kevin'
              
              
                print
              
              
                (
              
              student
              
                )
              
            
          

這里先用花括號(hào)創(chuàng)建了一個(gè)空字典student,然后往空字典中添加了學(xué)生學(xué)號(hào)和姓名,代碼運(yùn)行結(jié)果如圖2-3:

圖2-3

圖2-3

2.3修改字典中的值

要修改字典中的值,可依次指定字典名、用方括號(hào)[]括起來(lái)的鍵以及與該鍵相關(guān)聯(lián)的新值。

是不是很熟悉?沒(méi)錯(cuò), 修改字典的語(yǔ)法和添加鍵值對(duì)的語(yǔ)法是一樣的 。

區(qū)別在于,添加鍵值對(duì)時(shí),鍵不存在于字典中,而修改值時(shí),鍵存在于字典中。

例如,我們修改student字典中學(xué)生的姓名:

            
              student 
              
                =
              
              
                {
              
              
                'num'
              
              
                :
              
              
                '123456'
              
              
                ,
              
              
                'name'
              
              
                :
              
              
                'kelvin'
              
              
                }
              
              
                print
              
              
                (
              
              student
              
                )
              
              

student
              
                [
              
              
                'name'
              
              
                ]
              
              
                =
              
              
                'vicky'
              
              
                print
              
              
                (
              
              student
              
                )
              
            
          

我們把student字典中的學(xué)生姓名從 kelvin 改為了 vicky。

運(yùn)行結(jié)果如圖2-4:

在這里插入圖片描述

圖2-4

2.4刪除字典中的鍵值對(duì)

對(duì)于字典中不再需要的信息,可使用 del 語(yǔ)句將相應(yīng)的鍵值對(duì)徹底刪除。

使用 del 語(yǔ)句時(shí),必須指明字典名和要?jiǎng)h除的鍵。

例如,我要從字典student中,刪除學(xué)生的年齡:

            
              student 
              
                =
              
              
                {
              
              
                'num'
              
              
                :
              
              
                '123456'
              
              
                ,
              
              
                'name'
              
              
                :
              
              
                'kelvin'
              
              
                ,
              
              
                'age'
              
              
                :
              
              
                18
              
              
                }
              
              
                print
              
              
                (
              
              student
              
                )
              
              
                del
              
               student
              
                [
              
              
                'age'
              
              
                ]
              
              
                print
              
              
                (
              
              student
              
                )
              
            
          

上述代碼中 del 語(yǔ)句讓 Python將鍵 age 從字典student中刪除,同時(shí)刪除與這個(gè)鍵相關(guān)聯(lián)的值。

運(yùn)行結(jié)果如圖2-5:

在這里插入圖片描述

圖2-5

age 和與其相關(guān)聯(lián)的值已經(jīng)從字典中刪除,其余鍵值對(duì)未受影響。

結(jié)尾語(yǔ)

好啦,Python字典的簡(jiǎn)單使用就先寫(xiě)到這里,學(xué)完本文,你應(yīng)當(dāng)學(xué)習(xí)到怎么創(chuàng)建、訪問(wèn)、存儲(chǔ)、修改、刪除字典中的鍵值對(duì)。

學(xué)習(xí)過(guò)程中有任何疑惑,可掃描下方二維碼及時(shí)與我聯(lián)系。

另外,文中如有不正確之處,請(qǐng)見(jiàn)諒。

Python字典的基本使用_第4張圖片


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦?。?!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 九九久久国产 | 日日摸夜夜添夜夜添人人爽 | 久久机热re这里只有精品15 | 日本人的色道www免费一区 | 久久青草免费免费91线频观看 | 日本福利片国产午夜久久 | 一级做a爱片久久蜜桃 | 精品久久久久久中文字幕专区 | 狠狠躁夜夜躁人人爽天天3 狠狠躁夜夜躁人人爽天天miya | www.淫 | 亚洲精品久荜中文字幕 | 中文字幕无线码中文字幕免费 | 91精品国产欧美一区二区 | 色婷婷综合在线视频最新 | 国产精品偷伦视频免费观看的 | 97成人免费视频 | 日本a一级毛片免费观看 | 午夜影院网页 | 欧美人成在线 | 久久不卡 | 国产农村精品一级毛片视频 | 久久影视在线观看 | 欧美综合国产 | 亚洲激情区 | 日韩欧美在线中文字幕 | 全部在线播放免费毛片 | 最新久久免费视频 | 国产成人亚洲毛片 | 久久精品男人的天堂 | 婷婷色中文字幕 | 香蕉免费在线视频 | 中文字幕色婷婷在线视频 | 福利视频国产 | 亚洲日本一区二区三区 | 欧美经典人人爽人人爽人人片 | 国产成人啪午夜精品网站男同 | 久久精品vr中文字幕 | 欧美日韩国产一区二区三区 | 男人影院在线观看 | 最新亚洲国产有精品 | 免费在线a |