乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      第六章——字 典

       靜幻堂 2018-09-19
      MozZhang 2018-09-18 16:25:04

      昨晚,一邊看男籃比賽,一邊把第六章學(xué)完了,哈哈哈。。。

      直接進(jìn)入正題,在本章中, 將學(xué)習(xí)能夠?qū)⑾嚓P(guān)信息關(guān)聯(lián)起來的Python字典。學(xué)習(xí)如何訪問和修改字典中的信息。 鑒于字典可存儲(chǔ)的信息量幾乎不受限制,因此我們會(huì)演示如何遍歷字典中的數(shù)據(jù)。另外,還將學(xué)習(xí)存儲(chǔ)字典的列表、 存儲(chǔ)列表的字典和存儲(chǔ)字典的字典。由于貼代碼塊時(shí),沒有縮進(jìn),所以我選擇貼代碼的圖,這樣能夠清晰看到縮進(jìn),畢竟python嚴(yán)格縮進(jìn)?。。。?/p>

      6.1 一個(gè)簡(jiǎn)單的字典

      來看一個(gè)游戲, 其中包含一些外星人, 這些外星人的顏色和點(diǎn)數(shù)各不相同。 下面是一個(gè)簡(jiǎn)單的字典, 存儲(chǔ)了有關(guān)特定外星人的信息:

      alien_0 = {'color' : 'green', 'points' : 5}
      print(alien_0['color'])
      print(alien_0['points'])

      字典alien_0 存儲(chǔ)了外星人的顏色和點(diǎn)數(shù)。 使用兩條print 語(yǔ)句來訪問并打印這些信息, 如下所示:

      第六章——字 典

      6.2 使用字典

      在Python中, 字典是一系列鍵(key)—值(value)對(duì) 。 每個(gè)鍵都與一個(gè)值相關(guān)聯(lián), 可以使用鍵來訪問與之相關(guān)聯(lián)的值。 與鍵相關(guān)聯(lián)的值可以是數(shù)字、 字符串、 列表乃至字典。 事實(shí)上, 可將任何Python對(duì)象用作字典中的值。在Python中,字典用放在花括號(hào){} 中的一系列鍵—值對(duì)表示。鍵—值 對(duì)是兩個(gè)相關(guān)聯(lián)的值。指定鍵時(shí),Python將返回與之相關(guān)聯(lián)的值。 鍵和值之間用冒號(hào)分隔, 而鍵—值對(duì)之間用逗號(hào)分隔。 在字典中, 你想存儲(chǔ)多少個(gè)鍵—值對(duì)都可以。

      6.2.1 訪問字典中的值

      要獲取與鍵相關(guān)聯(lián)的值, 可依次指定字典名和放在方括號(hào)內(nèi)的鍵。

      alien_0 = {'color' : 'green','points' : 5}
      new_points = alien_0['points']
      print('you just earned ' + str(new_points) + ' points!')
      第六章——字 典

      6.2.2 添加鍵—值對(duì)

      字典是一種動(dòng)態(tài)結(jié)構(gòu),可隨時(shí)在其中添加鍵—值對(duì)。 要添加鍵—值對(duì), 可依次指定字典名、 用方括號(hào)括起的鍵和相關(guān)聯(lián)的值。

      alien_0 = {'color':'green', 'points':5}
      print(alien_0)
      alien_0['x_position'] = 0
      alien_0['y_position'] = 25
      print(alien_0)
      第六章——字 典

      注意:

      鍵—值對(duì)的排列順序與添加順序不同。 Python不關(guān)心鍵—值對(duì)的添加順序, 而只關(guān)心鍵和值之間的關(guān)聯(lián)關(guān)系。

      6.2.3 先創(chuàng)建一個(gè)空字典

      使用字典來存儲(chǔ)用戶提供的數(shù)據(jù)或在編寫能自動(dòng)生成大量鍵—值對(duì)的代碼時(shí), 通常都需要先定義一個(gè)空字典。

      alien_0 = {}
      alien_0['color'] = 'green'
      alien_0['points'] = 5
      print(alien_0)

      6.2.4 修改字典中的值

      要修改字典中的值, 可依次指定字典名、 用方括號(hào)括起的鍵以及與該鍵相關(guān)聯(lián)的新值。我們首先定義了一個(gè)表示外星人alien_0 的字典, 其中只包含這個(gè)外星人的顏色。 接下來, 我們將與鍵'color' 相關(guān)聯(lián)的值改為'yellow' 。

      alien_0 = {'color':'green'}
      print('the alien is ' + alien_0['color'] + '.')
      alien_0['color'] = 'yellow'
      print('the alien is now ' + alien_0['color']+'.')
      第六章——字 典

      來看一個(gè)更有趣的例子: 對(duì)一個(gè)能夠以不同速度移動(dòng)的外星人的位置進(jìn)行跟蹤。 為此, 我們將存儲(chǔ)該外星人的當(dāng)前速度, 并據(jù)此確定該外星人將向右移動(dòng)多遠(yuǎn):

      第六章——字 典

      第六章——字 典

      6.2.5 刪除鍵—值對(duì)

      對(duì)于字典中不再需要的信息, 可使用del 語(yǔ)句將相應(yīng)的鍵—值對(duì)徹底刪除。 使用del 語(yǔ)句時(shí), 必須指定字典名和要?jiǎng)h除的鍵。刪除的鍵—值對(duì)將永遠(yuǎn)消失。

      alien_0 = {'color':'green','points':5}
      print(alien_0)
      del alien_0['points']
      print(alien_0)
      第六章——字 典

      6.2.6 由類似對(duì)象組成的字典

      確定需要使用多行來定義字典時(shí), 在輸入左花括號(hào)后按回車鍵, 再在下一行縮進(jìn)四個(gè)空格, 指定第一個(gè)鍵—值對(duì), 并在它后面加上一個(gè)逗號(hào)。 此后你再次按回車鍵時(shí), 文本編輯器將自動(dòng)縮進(jìn)后續(xù)鍵—值對(duì), 且縮進(jìn)量與第一個(gè)鍵—值對(duì)相同。在最后一個(gè)鍵—值對(duì)的下一行添加一個(gè)右花括號(hào), 并縮進(jìn)四個(gè)空格, 使其與字典中的鍵對(duì)齊。 另外一種不錯(cuò)的做法是在最后一個(gè)鍵—值對(duì)后面也加上逗號(hào), 為以后在下一行添加鍵—值對(duì)做好準(zhǔn)備。

      第六章——字 典

      第六章——字 典

      注意 :

      對(duì)于較長(zhǎng)的列表和字典, 大多數(shù)編輯器都有以類似方式設(shè)置其格式的功能。 對(duì)于較長(zhǎng)的字典, 還有其他一些可行的格式設(shè)置方式, 因此在你的編輯器或其他源代碼中, 你可能會(huì)看到稍微不同的格式設(shè)置方式。

      動(dòng)手試一試

      6-1 人

      使用一個(gè)字典來存儲(chǔ)一個(gè)熟人的信息, 包括名、 姓、 年齡和居住的城市。 該字典應(yīng)包含鍵first_name 、 last_name 、 age 和city 。 將存儲(chǔ)在該字典中的每項(xiàng)信息都打印出來。

      6-2 喜歡的數(shù)字

      使用一個(gè)字典來存儲(chǔ)一些人喜歡的數(shù)字。 請(qǐng)想出5個(gè)人的名字, 并將這些名字用作字典中的鍵; 想出每個(gè)人喜歡的一個(gè)數(shù)字, 并將這些數(shù)字作為值存儲(chǔ)在字典中。 打印每個(gè)人的名字和喜歡的數(shù)字。 為讓這個(gè)程序更有趣, 通過詢問朋友確保數(shù)據(jù)是真實(shí)的。

      第六章——字 典

      第六章——字 典

      6.3 遍歷字典

      6.3.1 遍歷所有的鍵—值對(duì)

      要編寫用于遍歷字典的for 循環(huán), 可聲明兩個(gè)變量, 用于存儲(chǔ)鍵—值對(duì)中的鍵和值。 對(duì)于這兩個(gè)變量, 可使用任何名稱。for 語(yǔ)句的第二部分包含字典名和方法items() , 它返回一個(gè)鍵—值對(duì)列表。 接下來, for 循環(huán)依次將每個(gè)鍵—值對(duì)存儲(chǔ)到指定的兩個(gè)變量中。 在前面的示例中, 我們使用這兩個(gè)變量來打印每個(gè)鍵及其相關(guān)聯(lián)的值.

      第六章——字 典

      第六章——字 典

      注意:

      即便遍歷字典時(shí), 鍵—值對(duì)的返回順序也與存儲(chǔ)順序不同。 Python不關(guān)心鍵—值對(duì)的存儲(chǔ)順序, 而只跟蹤鍵和值之間的關(guān)聯(lián)關(guān)系。

      6.3.2 遍歷字典中的所有鍵

      在不需要使用字典中的值時(shí), 方法keys() 很有用。方法keys() 并非只能用于遍歷; 實(shí)際上, 它返回一個(gè)列表(但和列表有區(qū)別), 其中包含字典中的所有鍵.

      第六章——字 典

      第六章——字 典

      第六章——字 典

      第六章——字 典

      6.3.3 按順序遍歷字典中的所有鍵

      字典總是明確地記錄鍵和值之間的關(guān)聯(lián)關(guān)系, 但獲取字典的元素時(shí), 獲取順序是不可預(yù)測(cè)的。 這不是問題, 因?yàn)橥ǔD阆胍闹皇谦@取與鍵相關(guān)聯(lián)的正確的值。要以特定的順序返回元素, 一種辦法是在for 循環(huán)中對(duì)返回的鍵進(jìn)行排序。 為此, 可使用函數(shù)sorted() 來獲得按特定順序排列的鍵列表的副本,但不能使用list.sort()。

      第六章——字 典

      第六章——字 典

      6.3.4 遍歷字典中的所有值

      如果你感興趣的主要是字典包含的值, 可使用方法values() , 它返回一個(gè)值列表, 而不包含任何鍵。

      第六章——字 典

      第六章——字 典

      這種做法提取字典中所有的值, 而沒有考慮是否重復(fù)。 涉及的值很少時(shí), 這也許不是問題, 但如果被調(diào)查者很多, 最終的列表可能包含大量的重復(fù)項(xiàng)。 為剔除重復(fù)項(xiàng), 可使用集合(set) 。 集合 類似于列表, 但每個(gè)元素都必須是獨(dú)一無二的。

      第六章——字 典

      第六章——字 典

      動(dòng)手試一試

      6-5 河流

      創(chuàng)建一個(gè)字典, 在其中存儲(chǔ)三條大河流及其流經(jīng)的國(guó)家。 其中一個(gè)鍵—值對(duì)可能是'nile': 'egypt' 。

      • 使用循環(huán)為每條河流打印一條消息, 如“The Nile runs through Egypt.”。
      • 使用循環(huán)將該字典中每條河流的名字都打印出來。
      • 使用循環(huán)將該字典包含的每個(gè)國(guó)家的名字都打印出來。

      6-6 調(diào)查

      在6.3.1節(jié)編寫的程序favorite_languages.py中執(zhí)行以下操作。

      • 創(chuàng)建一個(gè)應(yīng)該會(huì)接受調(diào)查的人員名單, 其中有些人已包含在字典中, 而其他人未包含在字典中。
      • 遍歷這個(gè)人員名單, 對(duì)于已參與調(diào)查的人, 打印一條消息表示感謝。 對(duì)于還未參與調(diào)查的人, 打印一條消息邀請(qǐng)他參與調(diào)查
      第六章——字 典

      第六章——字 典

      6.4 嵌套

      有時(shí)候, 需要將一系列字典存儲(chǔ)在列表中, 或?qū)⒘斜碜鳛橹荡鎯?chǔ)在字典中, 這稱為嵌套 。 你可以在列表中嵌套字典、 在字典中嵌套列表甚至在字典中嵌套字典。 正如下面的示例將演示的, 嵌套是一項(xiàng)強(qiáng)大的功能。

      6.4.1 字典列表

      字典alien_0 包含一個(gè)外星人的各種信息, 但無法存儲(chǔ)第二個(gè)外星人的信息, 更別說屏幕上全部外星人的信息了。 如何管理成群結(jié)隊(duì)的外星人呢? 一種辦法是創(chuàng)建一個(gè)外星人列表, 其中每個(gè)外星人都是一個(gè)字典, 包含有關(guān)該外星人的各種信息。

      第六章——字 典

      第六章——字 典

      更符合現(xiàn)實(shí)的情形是, 外星人不止三個(gè), 且每個(gè)外星人都是使用代碼自動(dòng)生成的。 在下面的示例中, 我們使用range() 生成了30個(gè)外星人:

      第六章——字 典

      第六章——字 典

      6.4.2 在字典中存儲(chǔ)列表

      有時(shí)候, 需要將列表存儲(chǔ)在字典中, 而不是將字典存儲(chǔ)在列表中。 例如, 你如何描述顧客點(diǎn)的比薩呢? 如果使用列表, 只能存儲(chǔ)要添加的比薩配料; 但如果使用字典, 就不僅可在其中包含配料列表, 還可包含其他有關(guān)比薩的描述

      第六章——字 典

      第六章——字 典

      每當(dāng)需要在字典中將一個(gè)鍵關(guān)聯(lián)到多個(gè)值時(shí), 都可以在字典中嵌套一個(gè)列表。 在本章前面有關(guān)喜歡的編程語(yǔ)言的示例中, 如果將每個(gè)人的回答都存儲(chǔ)在一個(gè)列表中, 被調(diào)查者就可選擇多種喜歡的語(yǔ)言。 在這種情況下, 當(dāng)我們遍歷字典時(shí), 與每個(gè)被調(diào)查者相關(guān)聯(lián)的都是一個(gè)語(yǔ)言列表, 而不是一種語(yǔ)言; 因此, 在遍歷該字典的for 循環(huán)中, 我們需要再使用一個(gè)for 循環(huán)來遍歷與被調(diào)查者相關(guān)聯(lián)的語(yǔ)言列表:

      第六章——字 典

      第六章——字 典

      6.4.3 在字典中存儲(chǔ)字典

      可在字典中嵌套字典, 但這樣做時(shí), 代碼可能很快復(fù)雜起來。 例如, 如果有多個(gè)網(wǎng)站用戶, 每個(gè)都有獨(dú)特的用戶名, 可在字典中將用戶名作為鍵, 然后將每位用戶的信息存儲(chǔ)在一個(gè)字典中, 并將該字典作為與用戶名相關(guān)聯(lián)的值。 在下面的程序中, 對(duì)于每位用戶, 我們都存儲(chǔ)了其三項(xiàng)信息: 名、 姓和居住地; 為訪問這些信息, 我們遍歷所有的用戶名,并訪問與每個(gè)用戶名相關(guān)聯(lián)的信息字典:

      第六章——字 典

      第六章——字 典

      動(dòng)手試一試

      6-7 人 : 在為完成練習(xí)6-1而編寫的程序中, 再創(chuàng)建兩個(gè)表示人的字典, 然后將這三個(gè)字典都存儲(chǔ)在一個(gè)名為people 的列表中。 遍歷這個(gè)列表, 將其中每個(gè)人的所有信息都打印出來。

      第六章——字 典

      第六章——字 典

      6-9 喜歡的地方 : 創(chuàng)建一個(gè)名為favorite_places 的字典。 在這個(gè)字典中, 將三個(gè)人的名字用作鍵; 對(duì)于其中的每個(gè)人, 都存儲(chǔ)他喜歡的1~3個(gè)地方。 遍歷這個(gè)字典, 并將其中每個(gè)人的名字及其喜歡的地方打印出來。

      第六章——字 典

      第六章——字 典

      6-11 城市 : 創(chuàng)建一個(gè)名為cities 的字典, 其中將三個(gè)城市名用作鍵; 對(duì)于每座城市, 都創(chuàng)建一個(gè)字典, 并在其中包含該城市所屬的國(guó)家、 人口約數(shù)以及一個(gè)有關(guān)該城市的事實(shí)。 在表示每座城市的字典中, 應(yīng)包含country 、 population 和fact 等鍵。 將每座城市的名字以及有關(guān)它們的信息都打印出來。

      第六章——字 典

      第六章——字 典

      6.5 小結(jié)

      在本章中, 你學(xué)習(xí)了: 如何定義字典, 以及如何使用存儲(chǔ)在字典中的信息; 如何訪問和修改字典中的元素, 以及如何遍歷字典中的所有信息; 如何遍歷字典中所有的鍵-值對(duì)、 所有的鍵和所有的值; 如何在列表中嵌套字典、 在字典中嵌套列表以及在字典中嵌套字典。

      在下一章中, 將學(xué)習(xí)while 循環(huán)以及如何從用戶那里獲取輸入。

      第六章——字 典

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多