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

python基礎5-字典

系統(tǒng) 1662 0

python基礎5-字典

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

數據類型

字典

字典定義、創(chuàng)建

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

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

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

            
              
                >>
              
              
                >
              
               d1 
              
                =
              
              
                {
              
              
                'key'
              
              
                :
              
              
                'value'
              
              
                }
              
              
                # 使用dict()初始化字典,其中鍵必須是字符串
              
              
                >>
              
              
                >
              
               d2 
              
                =
              
              
                dict
              
              
                (
              
              key
              
                =
              
              
                'value'
              
              
                )
              
              
                # 使用dict創(chuàng)建時,下面的情況會出現(xiàn)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'
              
              
                }
              
              
                # 也可以先初始化,然后動態(tài)地添加
              
              
                >>
              
               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'
              
              
                )
              
              
                )
              
            
          

字典和列表的不同

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

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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩精品一级毛片 | 日韩黄色一级视频 | 五月婷婷在线播放 | 四虎影视最新网站在线播放 | 两女互慰磨豆腐视频在线观看 | 欧美xxxx狂喷水喷水 | 青娱乐99 | 色香蕉视频 | 日韩精品在线播放 | 国产欧美一区二区视频 | 欧美成人二区 | 一级片免费在线播放 | 一级观看免费完整版视频 | 久久国产精品久久久久久久久久 | 人人天天操 | 我要看欧美一级毛片 | 亚洲国产精品久久久久久网站 | 欧美一级在线播放 | 国产精品成人在线观看 | 天天干夜夜爽 | 国产香蕉免费精品视频 | 天天操婷婷| 美女露尿口视频 | 亚州一区二区三区 | 欧美一级特黄aaaaaa在线看首页 | 国产人成 | 日韩欧美国产精品第一页不卡 | 色婷婷综合久久久中字幕精品久久 | 亚洲电影在线观看 | 国产日韩一区二区三区 | 欧美日韩国产一区二区三区播放 | 三级视频在线播放 | 亚洲精品不卡 | 精品美女在线观看视频在线观看 | 91看片在线观看 | 国产免费一区二区 | 精品久久久久一区二区三区 | 精一区二区 | 99久久精品国产一区二区成人 | 国产综合亚洲精品一区二 | 中文字幕日韩理论在线 |