欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python字典嵌套

系統 1788 0

文 | 猿天罡

前言

前兩篇文章,我們學習了Python字典的基本用法和遍歷字典的三種方式

為了讓小伙伴們不耗費多余的注意力,我們舉的例子都盡可能的簡單,不信你回去看看,字典鍵對應的值都是基本數據類型(字符串、數字等)。

其實,字典里鍵對應的值可以很復雜。

我們可以在字典中存儲列表,在列表中存儲字典,在字典中存儲字典等等。

Python中幾乎所有的數據類型,都可以存進字典里。

學習不是一日之功,需擺正心態,持之以恒,希望小伙伴們對學習一門語言抱有基本的耐心。

下面我們來 開心地 學習吧。

1.在字典里存儲列表

1.1字典里不全是列表

筆者在大學的時候,需要學習四門基礎專業課。

            
               course 
              
                =
              
              
                [
              
              
                '數據結構'
              
              
                ,
              
              
                '計算機網絡'
              
              
                ,
              
              
                '計算機組成原理'
              
              
                ,
              
              
                '操作系統'
              
              
                ]
              
            
          

如果我們聲明一個學生字典,則專業課列表應該在其字典之中。

            
              student 
              
                =
              
              
                {
              
              
                'name'
              
              
                :
              
              
                'kelvin'
              
              
                ,
              
              
                'age'
              
              
                :
              
              
                18
              
              
                ,
              
              
                'course'
              
              
                :
              
              
                [
              
              
                '數據結構'
              
              
                ,
              
              
                '計算機網絡'
              
              
                ,
              
              
                '計算機組成原理'
              
              
                ,
              
              
                '操作系統'
              
              
                ]
              
              
                }
              
            
          

注:也可以用雙引號包裹字符串(別的文章可不會提醒的這么詳細)

這種情況下,要想訪問課程列表,和我們講的字典訪問方法一毛一樣(基礎挺重要的): student['course']

下面我們來打印這個學生的信息。

            
              
                # 概述學生基本信息
              
              
                print
              
              
                (
              
              
                '姓名:'
              
              
                ,
              
               student
              
                [
              
              
                'name'
              
              
                ]
              
              
                ,
              
              
                '年齡:'
              
              
                ,
              
               student
              
                [
              
              
                'age'
              
              
                ]
              
              
                )
              
              
                print
              
              
                (
              
              
                '課程信息如下:'
              
              
                )
              
              
                for
              
               course 
              
                in
              
               student
              
                [
              
              
                'course'
              
              
                ]
              
              
                :
              
              
                print
              
              
                (
              
              
                "\t"
              
              
                +
              
               course
              
                )
              
            
          

運行結果如下:

Python字典嵌套_第1張圖片

說明(看得懂代碼可以跳過):

首先,我們創建了一個學生字典,字典里存儲了學生的姓名、年齡和課程信息。姓名和年齡都是基本數據類型(一個字符串另一個數字),課程是列表結構。

然后,我們通過字典訪問方法 字典['鍵'] ,一下子就把姓名和年齡拿到并輸出了。

最后,我們通過 student['course'] 拿到了一個課程列表,但直接輸出格式太不好看了,所以我們對其進行了遍歷,依次輸出學生要上的課程。

1.2字典里全是列表

還有一種字典里存列表的情況:鍵對應的值全是列表。

遇到這種情況心里可以偷著樂,因為循環遍歷的時候格式會很好看(后文會有解釋)。

學校老師需要每個學生的課程信息(因為有的人選課會不一樣)。

這個時候把學生姓名做鍵(實際情況下是用學號,姓名會重復),以學生課程列表為值可以組成字典。

            
              courses 
              
                =
              
              
                {
              
              
                'kelvin'
              
              
                :
              
              
                [
              
              
                '數據結構'
              
              
                ,
              
              
                '計算機網絡'
              
              
                ,
              
              
                '計算機組成原理'
              
              
                ,
              
              
                '操作系統'
              
              
                ]
              
              
                ,
              
              
                'vicky'
              
              
                :
              
              
                [
              
              
                'xx經濟學'
              
              
                ,
              
              
                '西方經濟學'
              
              
                ,
              
              
                '統計學'
              
              
                ,
              
              
                '發展經濟學'
              
              
                ]
              
              
                }
              
            
          

我們把多個學生的課程表打印輸出。

            
              
                for
              
               name
              
                ,
              
               course 
              
                in
              
               courses
              
                .
              
              items
              
                (
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              name 
              
                +
              
              
                '同學所學課程:'
              
              
                )
              
              
                for
              
               c 
              
                in
              
               course
              
                :
              
              
                print
              
              
                (
              
              
                "\t"
              
              
                +
              
               c
              
                )
              
            
          

因為每個鍵對應的都是列表,所以需要再使用一個 for 循環來遍歷學生課程列表。

解釋(看得懂代碼可以跳過):

首先,使用外層 for 循環,依次將courses字典里的鍵和值分別賦值給變量 name course

然后, name 對應的值是個簡單的字符串,所以我們直接打印輸出了。

最后,遍歷 course 列表,格式化地打印學生所學課程。

再注:字典里不全是字典也可以用雙層循環,只不過我們需要加個if判斷,如果值是列表才能進入到內層循環。

2.在字典里存儲字典

字典里存儲字典就很像俄羅斯套娃。

Python字典嵌套_第2張圖片

循環(打開)一層字典后,面對的還是字典,真是讓人驚喜又驚喜。

和在字典中存儲列表一樣,在字典里存儲字典也有兩種情況。

聰明的小伙伴已經猜到了:在字典里不全是字典和在字典里全是字典。

看著讓人有點頭暈(建議看下前面的小標題清醒一下)。

因為在字典里不全是字典比較簡單(不理解的歡迎私信),所以我們重點講講在字典里全是字典的情況。

學校需要學生信息表(不是學生所上課程信息)。

如果要用字典來存儲的話,可以這樣。

            
              students 
              
                =
              
              
                {
              
              
                'kelvin'
              
              
                :
              
              
                {
              
              
                'age'
              
              
                :
              
              
                18
              
              
                ,
              
              
                'course'
              
              
                :
              
              
                [
              
              
                '數據結構'
              
              
                ,
              
              
                '計算機網絡'
              
              
                ,
              
              
                '計算機組成原理'
              
              
                ,
              
              
                '操作系統'
              
              
                ]
              
              
                }
              
              
                ,
              
              
                'vicky'
              
              
                :
              
              
                {
              
              
                'age'
              
              
                :
              
              
                19
              
              
                ,
              
              
                'course'
              
              
                :
              
              
                [
              
              
                'xx經濟學'
              
              
                ,
              
              
                '西方經濟學'
              
              
                ,
              
              
                '統計學'
              
              
                ,
              
              
                '發展經濟學'
              
              
                ]
              
              
                }
              
              
                }
              
            
          

可以看到,外層students字典里面存儲的依然是以學生姓名為鍵,學生其他信息為值的字典。

更過分地是學生其他信息里竟然還有個學生列表。

看我們怎么處理這些數據。

            
              
                for
              
               name
              
                ,
              
               student 
              
                in
              
               students
              
                .
              
              items
              
                (
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "姓名:"
              
              
                ,
              
               name
              
                ,
              
              
                ",年齡:"
              
              
                ,
              
               student
              
                [
              
              
                'age'
              
              
                ]
              
              
                ,
              
              
                ",所學課程:"
              
              
                )
              
              
                for
              
               course 
              
                in
              
               student
              
                [
              
              
                'course'
              
              
                ]
              
              
                :
              
              
                print
              
              
                (
              
              
                "\t"
              
              
                +
              
               course
              
                )
              
            
          

我們先來看看效果圖:

Python字典嵌套_第3張圖片

常規嘮叨(看懂代碼的可以跳過):

首先,我們定義了一個學生字典,里面有兩個學生的信息。

學生信息是以姓名為鍵,其他信息為值。

然后,我們遍歷最外層字典,然后依次將 students 的鍵和值賦值給變量 name student

接著,因為學生姓名賦值給了變量 name ,所以我們直接打印變量 name

學生的年齡信息存儲在 student 字典(內層字典)里的,可以通過基本的字典訪問方法 student['age'] 拿到并打印出來。

最后,遍歷 student['course'] ,即課程列表,格式化輸出所學課程。

3.在列表里存儲字典

在列表里也可以存儲字典哦。

列表和字典的主要區別是前者沒有鍵而已。

這并不影響其存儲能力,事實上,列表也幾乎可以存儲所有的數據類型。

除了用字典存儲多個學生信息外,我們還可以用列表來存儲。

            
              student1 
              
                =
              
              
                {
              
              
                'name'
              
              
                :
              
              
                'kelvin'
              
              
                ,
              
              
                'age'
              
              
                :
              
              
                18
              
              
                ,
              
              
                'course'
              
              
                :
              
              
                [
              
              
                '數據結構'
              
              
                ,
              
              
                '計算機網絡'
              
              
                ,
              
              
                '計算機組成原理'
              
              
                ,
              
              
                '操作系統'
              
              
                ]
              
              
                }
              
              

student2 
              
                =
              
              
                {
              
              
                'name'
              
              
                :
              
              
                'vicky'
              
              
                ,
              
              
                'age'
              
              
                :
              
              
                19
              
              
                ,
              
              
                'course'
              
              
                :
              
              
                [
              
              
                'xx經濟學'
              
              
                ,
              
              
                '西方經濟學'
              
              
                ,
              
              
                '統計學'
              
              
                ,
              
              
                '發展經濟學'
              
              
                ]
              
              
                }
              
              
students 
              
                =
              
              
                [
              
              student1
              
                ,
              
               student2
              
                ]
              
            
          

我們先是定義了兩個學生字典,然后把它們存儲到了 students 列表中了。

怎么遍歷輸出字典列表的信息呢?

            
              
                for
              
               student 
              
                in
              
               students
              
                :
              
              
                print
              
              
                (
              
              
                "姓名:"
              
              
                ,
              
               student
              
                [
              
              
                'name'
              
              
                ]
              
              
                ,
              
              
                ",年齡:"
              
              
                ,
              
               student
              
                [
              
              
                'age'
              
              
                ]
              
              
                ,
              
              
                ",所學課程:"
              
              
                )
              
              
                for
              
               course 
              
                in
              
               student
              
                [
              
              
                'course'
              
              
                ]
              
              
                :
              
              
                print
              
              
                (
              
              
                "\t"
              
              
                +
              
               course
              
                )
              
            
          

直接上運行結果:

Python字典嵌套_第4張圖片

沒人聽的碎碎念(看得懂代碼可以跳過):

首先,外層 for 循環依次取出存儲其中的字典(student1和student2)并把它們依次賦值給變量 student

然后,此時變量 student 就相當于是某一個學生字典,所以我們可以通過 student['name'] student['age'] 訪問到學生的姓名和年齡。

最后,因為 student['course'] 存儲的是課程列表,所以需要循環打印列表。

結尾語

Python語法簡單且靈活,本文講述的字典和列表嵌套可以當作拋磚引玉,希望能起到舉一反三的效果。

如果你對文中講述的內容還有疑惑,歡迎和我交流,我們一起在討論中進步。

掃碼關注「猿天罡」

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产真人做爰视频免费 | 欧美福利 | 日韩理论在线 | 奇米网色 | 第一色在线 | 久久精品视频8 | av一区在线观看 | 欧美一进一出 | 精品国产18久久久久久二百 | 免费观看成人拍拍拍1000视频 | 欧美日韩免费播放一区二区 | 色一区二区 | 午夜精品一区二区三区在线视频 | 亚洲成av人在线视 | 超碰在线观看97 | 精品九九视频 | 欧美精品第一页 | 蜜臀AV国产精品久久久久 | 日本高清动作片www网站免费 | 国产换爱交换乱理伦片 | 中文字幕日韩欧美 | 亚洲第一网站 | 欧美激情在线播放 | 日韩欧美在 | 天天射天天操天天 | 日韩欧美在线视频不卡免费视频 | 精品一区二区三区四区 | 欧美日韩中文在线视频 | 久草在线在线 | 亚洲性在线观看 | 亚洲精品国产自在久久出水 | 毛片成人永久免费视频 | 精品亚洲成a人片在线观看 在线看片h站 | 91tv最新永久在线地址 | 中文字幕一区二区三区四区 | 五月天激激婷婷大综合蜜芽 | 国产一级淫 | 草草线在成人免费视频 | 色呦呦免费观看 | 君岛美绪一区二区三区在线视频 | 日韩精品一区二区三区 |