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

python基礎5-字典

系統 1971 0

python基礎5-字典

python基礎5-字典_第1張圖片

數據類型

字典

字典定義、創建

字典是一種可變容器類型,且可以存儲任意類型對象。字典和列表的最大的區別是字典強調的是“鍵值對”,key與value一一對應,字典中的存放順序并不重要,重要的是“鍵”和“值”的對應關系。在字典中,要求key是唯一的,且不可變的。所以字典的特點如下:

  • 查找速度快
  • key-value序對沒有順序
  • key鍵不可變且唯一

字典的創建,使用 {} ,每個鍵值對用 : 隔開,每對之間用 , 分割。還有使用dict和使用fromkeys的方法

            
              
                >>
              
              
                >
              
               d1 
              
                =
              
              
                {
              
              
                'key'
              
              
                :
              
              
                'value'
              
              
                }
              
              
                # 使用dict()初始化字典,其中鍵必須是字符串
              
              
                >>
              
              
                >
              
               d2 
              
                =
              
              
                dict
              
              
                (
              
              key
              
                =
              
              
                'value'
              
              
                )
              
              
                # 使用dict創建時,下面的情況會出現bug
              
              
                >>
              
              
                >
              
               key 
              
                =
              
              
                'name'
              
              
                >>
              
              
                >
              
               d3 
              
                =
              
              
                dict
              
              
                (
              
              key
              
                =
              
              
                'value'
              
              
                )
              
              
                # 這個代碼,原本我們是想輸出{'name':'value'},可以結果并不一樣,所以使用dict初始化的時候需要注意
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              d3
              
                )
              
              
                {
              
              
                'key'
              
              
                :
              
              
                'value'
              
              
                }
              
              
                # 使用fromkeys方法初始化字典
              
              
                #初始化
              
              
                >>
              
              
                >
              
               d4 
              
                =
              
              
                {
              
              
                }
              
              
                .
              
              fromkeys
              
                (
              
              
                [
              
              
                'key1'
              
              
                ,
              
              
                'key2'
              
              
                ]
              
              
                )
              
              
                >>
              
              
                >
              
               d4

              
                {
              
              
                'key1'
              
              
                :
              
              
                None
              
              
                ,
              
              
                'key2'
              
              
                :
              
              
                None
              
              
                }
              
              
                >>
              
              
                >
              
               d5 
              
                =
              
              
                dict
              
              
                (
              
              
                )
              
              
                .
              
              fromkeys
              
                (
              
              
                [
              
              
                'key1'
              
              
                ,
              
              
                'key2'
              
              
                ]
              
              
                )
              
              
                >>
              
              
                >
              
               d5

              
                {
              
              
                'key1'
              
              
                :
              
              
                None
              
              
                ,
              
              
                'key2'
              
              
                :
              
              
                None
              
              
                }
              
              
                # 初始化并賦值
              
              
                >>
              
              
                >
              
               d6 
              
                =
              
              
                {
              
              
                }
              
              
                .
              
              fromkeys
              
                (
              
              
                [
              
              
                'key1'
              
              
                ,
              
              
                'key2'
              
              
                ]
              
              
                ,
              
              
                'value'
              
              
                )
              
              
                >>
              
              
                >
              
               d6

              
                {
              
              
                'key1'
              
              
                :
              
              
                'value'
              
              
                ,
              
              
                'key2'
              
              
                :
              
              
                'value'
              
              
                }
              
              
                # 也可以先初始化,然后動態地添加
              
              
                >>
              
               d7 
              
                =
              
              
                {
              
              
                }
              
              
                >>
              
              
                >
              
               d7
              
                [
              
              
                'key1'
              
              
                ]
              
              
                =
              
              
                'value1'
              
              
                >>
              
              
                >
              
               d7
              
                [
              
              
                'key2'
              
              
                ]
              
              
                =
              
              
                'value2'
              
              
                >>
              
              
                >
              
               d7

              
                {
              
              
                'key1'
              
              
                :
              
              
                'value1'
              
              
                ,
              
              
                'key2'
              
              
                :
              
              
                'value2'
              
              
                }
              
              
                # 使用zip函數把鍵列表和值列表打包成鍵值對一一對應的元組
              
              
                >>
              
              
                >
              
               d8 
              
                =
              
              
                dict
              
              
                (
              
              
                zip
              
              
                (
              
              
                [
              
              
                'key1'
              
              
                ,
              
              
                'key2'
              
              
                ]
              
              
                ,
              
              
                [
              
              
                'value1'
              
              
                ,
              
              
                'value2'
              
              
                ]
              
              
                )
              
              
                )
              
              
                >>
              
              
                >
              
               d8

              
                {
              
              
                'key1'
              
              
                :
              
              
                'value1'
              
              
                ,
              
              
                'key2'
              
              
                :
              
              
                'value2'
              
              
                }
              
              
                # 字典推導表達式
              
              
                >>
              
              
                >
              
               d9 
              
                =
              
              
                {
              
              x
              
                :
              
              x
              
                **
              
              
                2
              
              
                for
              
               x 
              
                in
              
              
                [
              
              
                1
              
              
                ,
              
              
                2
              
              
                ,
              
              
                3
              
              
                ]
              
              
                }
              
              
                >>
              
              
                >
              
               d9

              
                {
              
              
                1
              
              
                :
              
              
                1
              
              
                ,
              
              
                2
              
              
                :
              
              
                4
              
              
                ,
              
              
                3
              
              
                :
              
              
                9
              
              
                }
              
            
          

訪問、修改字典

字典和列表一樣,是一種存儲數據的容器;在列表中,可以通過下標索引來訪問元素,在字典中通過鍵來訪問它的對應值,即key:value;可以修改,添加等操作。

            
              
                >>
              
              
                >
              
               d1 
              
                =
              
              
                {
              
              
                'type'
              
              
                :
              
              
                'dict'
              
              
                ,
              
              
                'code'
              
              
                :
              
              
                'python'
              
              
                }
              
              
                # 值訪問
              
              
                >>
              
              
                >
              
               d1
              
                [
              
              
                'type'
              
              
                ]
              
              
                'dict'
              
              
                # 內容添加
              
              
                >>
              
              
                >
              
               d1
              
                [
              
              
                1
              
              
                ]
              
              
                =
              
              
                2
              
              
                >>
              
              
                >
              
               d1

              
                {
              
              
                'type'
              
              
                :
              
              
                'dict'
              
              
                ,
              
              
                'code'
              
              
                :
              
              
                'python'
              
              
                ,
              
              
                1
              
              
                :
              
              
                2
              
              
                }
              
              
                # 內容修改
              
              
                >>
              
              
                >
              
               d1
              
                [
              
              
                'code'
              
              
                ]
              
              
                =
              
              
                'java'
              
              
                >>
              
              
                >
              
               d1

              
                {
              
              
                'type'
              
              
                :
              
              
                'dict'
              
              
                ,
              
              
                'code'
              
              
                :
              
              
                'java'
              
              
                ,
              
              
                1
              
              
                :
              
              
                2
              
              
                }
              
              
                # 刪除元素,還可以是用del刪除某個字典的key,或者刪除整個字典;使用clear() 清空這個字典
              
              
                >>
              
              
                >
              
               d1 
              
                =
              
              
                {
              
              
                'type'
              
              
                :
              
              
                'dict'
              
              
                ,
              
              
                'code'
              
              
                :
              
              
                'python'
              
              
                ,
              
              
                1
              
              
                :
              
              
                2
              
              
                }
              
              
                >>
              
              
                >
              
               d1
              
                .
              
              pop
              
                (
              
              
                'code'
              
              
                )
              
              
                # d1的值為{'type': 'dict', 1: 2}
              
              
                >>
              
              
                >
              
              
                del
              
               d1
              
                [
              
              
                1
              
              
                ]
              
              
                # d1的值為{'type': 'dict'}
              
              
                >>
              
              
                >
              
               d1
              
                .
              
              clear
              
                (
              
              
                )
              
              
                # d1 = {}
              
              
                >>
              
              
                >
              
              
                del
              
               d1

              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              d1
              
                )
              
              
                # NameError: name 'd1' is not defined
              
              
                # 如果有兩個字典,可以使用update函數來更新其中某一個字典
              
              
                # 從下面代碼的結果上可以看出,如果d1中沒有d2的元素,則添加進來;如果有,則修改為d2中的值
              
              
                >>
              
              
                >
              
               d2 
              
                =
              
              
                {
              
              
                1
              
              
                :
              
              
                3
              
              
                ,
              
              
                2
              
              
                :
              
              
                4
              
              
                ,
              
              
                5
              
              
                :
              
              
                6
              
              
                }
              
              
                >>
              
              
                >
              
               d1
              
                .
              
              update
              
                (
              
              d2
              
                )
              
              
                >>
              
              
                >
              
               d1

              
                {
              
              
                'type'
              
              
                :
              
              
                'dict'
              
              
                ,
              
              
                1
              
              
                :
              
              
                3
              
              
                ,
              
              
                2
              
              
                :
              
              
                4
              
              
                ,
              
              
                5
              
              
                :
              
              
                6
              
              
                }
              
            
          

字典的遍歷

            
              d 
              
                =
              
              
                {
              
              
                'a'
              
              
                :
              
              
                1
              
              
                ,
              
              
                'b'
              
              
                :
              
              
                2
              
              
                ,
              
              
                'c'
              
              
                :
              
              
                3
              
              
                }
              
              
                # 遍歷key值
              
              
                for
              
               key 
              
                in
              
               d
              
                :
              
              
                print
              
              
                (
              
              
                "{} : {}"
              
              
                .
              
              
                format
              
              
                (
              
              key
              
                ,
              
               d
              
                [
              
              key
              
                ]
              
              
                )
              
              
                )
              
              
                # 該方法和上面的方法是等價的
              
              
                for
              
               key 
              
                in
              
               d
              
                .
              
              keys
              
                (
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "{} : {}"
              
              
                .
              
              
                format
              
              
                (
              
              key
              
                ,
              
               d
              
                [
              
              key
              
                ]
              
              
                )
              
              
                )
              
              
                # 遍歷value值
              
              
                for
              
               value 
              
                in
              
               d
              
                .
              
              values
              
                (
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              value
              
                )
              
              
                # 遍歷字典項
              
              
                for
              
               key_value 
              
                in
              
               d
              
                .
              
              items
              
                (
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              key_value
              
                )
              
              
                # 遍歷字典健值
              
              
                for
              
               key
              
                ,
              
              value 
              
                in
              
               d
              
                .
              
              items
              
                (
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              
                "{} : {}"
              
              
                .
              
              
                format
              
              
                (
              
              key
              
                ,
              
               value
              
                )
              
              
                )
              
            
          

字典的排序

字典的排序有兩種方法,第一種是 list()函數和字典的keys()方法相結合,對產生的list排序,然后輸出。第二種方法是使用內置函數sorted()進行排序,會返回排序好的鍵。

            
              
                # 使用list()函數,和keys()相結合
              
              
d 
              
                =
              
              
                {
              
              
                1
              
              
                :
              
              
                2
              
              
                ,
              
              
                7
              
              
                :
              
              
                8
              
              
                ,
              
              
                3
              
              
                :
              
              
                4
              
              
                ,
              
              
                5
              
              
                :
              
              
                6
              
              
                }
              
              
d_key 
              
                =
              
              
                list
              
              
                (
              
              d
              
                .
              
              keys
              
                (
              
              
                )
              
              
                )
              
              
d_key
              
                .
              
              sort
              
                (
              
              
                )
              
              
                for
              
               key 
              
                in
              
               d_key
              
                :
              
              
                print
              
              
                (
              
              key
              
                ,
              
               d
              
                [
              
              key
              
                ]
              
              
                )
              
              
                # 使用sorted函數
              
              
                for
              
               key 
              
                in
              
              
                sorted
              
              
                (
              
              d
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              key
              
                ,
              
               d
              
                [
              
              key
              
                ]
              
              
                )
              
            
          

判斷鍵值是否存在

在python2中判斷一個字典中某個key是否存在可以使用has_key和in兩種方法,但是在python3中只有in方法,

            
              
                >>
              
              
                >
              
               d 
              
                =
              
              
                {
              
              
                'type'
              
              
                :
              
              
                'dict'
              
              
                ,
              
              
                'code'
              
              
                :
              
              
                'java'
              
              
                ,
              
              
                1
              
              
                :
              
              
                2
              
              
                }
              
              
                >>
              
              
                >
              
              
                'code'
              
              
                in
              
               d

              
                True
              
              
                >>
              
              
                >
              
              
                3
              
              
                in
              
               d

              
                False
              
            
          

字典中get()方法

有這樣一種情況,我們想獲取字典中的某一個值,但是有不確定它是否存在,那么如果直接寫 dict[key] 肯定是不妥當的,那么只能是先判讀,然后在輸出。這樣寫是可以的,但是在python中提供了一種方法 get(key, default=None) ,即若果存在直接輸出結果,如果不存在,則輸出為default的值。

            
              
                # 獲取字典中的值
              
              
d 
              
                =
              
              
                {
              
              
                'code'
              
              
                :
              
              
                'python'
              
              
                }
              
              
                if
              
              
                'name'
              
              
                in
              
               d
              
                :
              
              
                print
              
              
                (
              
              d
              
                [
              
              
                'name'
              
              
                ]
              
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                'default'
              
              
                )
              
              
                # get()替代 if ... else ...
              
              
                print
              
              
                (
              
              d
              
                .
              
              get
              
                (
              
              
                'name'
              
              
                ,
              
              
                'default'
              
              
                )
              
              
                )
              
            
          

字典和列表的不同

  • 從創建方式上,列表使用的是方括號,字典使用的是花括號。
  • 字典里的對象是無序的,通過key-value來表示一種映射關系;列表中的元素是有序的,可以通過序號直接獲取元素,或者通過切片操作獲取多個元素。
  • 相對而言,字典更耗費空間,因為需要維護key。
  • list隨著數量的正常增長要想查找元素的時間復雜度為O(n), dict不隨數量而增長而變化,時間負責都為O(1)

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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: www.天堂av.com| 午夜视频网 | 91视频精选 | 日韩久久精品 | 日本AAAA片毛片免费观 | 久久国产视频一区 | 精品日韩| 偷偷狠狠的日日2020 | 九九热视频这里只有精品 | 亚洲一区二区三区四区在线观看 | 99亚洲| 欧美激情精品久久久久 | 2022国产91精品久久久久久 | 国产精品一区二区免费 | 欧美在线观看一区二区 | 俄罗斯hdxxx| 九七婷婷狠狠成人免费视频 | 国产精品中文在线 | 视频一区二区中文字幕 | 国内精品伊人久久久久7777人 | 一区二区三区免费看 | 波多野结衣99 | 91免费视频| 草草国产成人免费视频 | 成人午夜电影网 | 亚洲人成网站在线播放观看 | 明明电影高清在线观看 | 777奇米影视色888成人 | 免费a网站 | 久久一区二区明星换脸 | 欧美亚洲福利 | 91精品一区二区三区久久久久久 | 亚洲欧美另类综合 | 精品欧美成人高清视频在线观看 | 日韩一区二区在线视频 | 日韩精品一区二区三区国语自制 | 国产一区久久 | 999热在线视频 | 亚洲精品国产网红在线 | 国产成人一区二区精品非洲 | 亚洲自偷自偷精品 |