>>dict1={'one':1,'two':2,'three':3}>>>dict2=dict(one=1,two=2,three=3)>>>print(dict1['one'])>>>print(dict2["one"])11上面的demo中" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python筆記——字典操作詳解

系統(tǒng) 1856 0

字典是python里面唯一的映射類型,由一個(gè)個(gè)鍵值對(duì)組成。

  1. 字典的創(chuàng)建
  2. 字典的查詢
  3. 字典的刪除
  4. 字典的修改or添加
  5. 字典的內(nèi)置方法(BIF)
  6. 字典的特性
  7. 通訊錄練習(xí)

一、創(chuàng)建字典(two)


  1. 使用{}創(chuàng)建

  2. 使用dict()函數(shù)

demo

            
              
                >>
              
              
                >
              
               dict1 
              
                =
              
              
                {
              
              
                'one'
              
              
                :
              
              
                1
              
              
                ,
              
              
                'two'
              
              
                :
              
              
                2
              
              
                ,
              
              
                'three'
              
              
                :
              
              
                3
              
              
                }
              
              
                >>
              
              
                >
              
               dict2 
              
                =
              
              
                dict
              
              
                (
              
              one 
              
                =
              
              
                1
              
              
                ,
              
               two 
              
                =
              
              
                2
              
              
                ,
              
               three 
              
                =
              
              
                3
              
              
                )
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              dict1
              
                [
              
              
                'one'
              
              
                ]
              
              
                )
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              dict2
              
                [
              
              
                "one"
              
              
                ]
              
              
                )
              
              
                1
              
              
                1
              
            
          

上面的demo中需要注意的是 dict()方法創(chuàng)建字典的時(shí)候無需key無需加"",這個(gè)函數(shù)會(huì)自動(dòng)給key加"" ,如果你加上它會(huì)報(bào)錯(cuò)。

二、查詢字典


  1. dict
    訪問整個(gè)字典,字典會(huì)無序的返回,因?yàn)樽值渲匾暤氖莐ey和value之間的對(duì)應(yīng)關(guān)系,而非排序。

  2. dict1[“key”]:
    通過訪問key,返回value,
    print(dict[“one”])

  3. dict1.get(“key”,“報(bào)錯(cuò)內(nèi)容”):
    如果字典中不存在某個(gè)key,而你訪問的話會(huì)報(bào)錯(cuò),這個(gè)時(shí)候使用get方法比較合適
    如果存在key,會(huì)直接返回key對(duì)應(yīng)的value,如果不存在返回你設(shè)置的報(bào)錯(cuò)內(nèi)容。

demo

            
              
                >>
              
              
                >
              
               dict2 
              
                =
              
              
                dict
              
              
                (
              
              one 
              
                =
              
              
                1
              
              
                ,
              
               two 
              
                =
              
              
                2
              
              
                ,
              
               three 
              
                =
              
              
                3
              
              
                )
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              dict2
              
                )
              
              
                {
              
              
                'one'
              
              
                :
              
              
                1
              
              
                ,
              
              
                'two'
              
              
                :
              
              
                2
              
              
                ,
              
              
                'three'
              
              
                :
              
              
                3
              
              
                }
              
              
                ##這是巧合,一般會(huì)返回?zé)o序的字典
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              dict2
              
                [
              
              
                "one"
              
              
                ]
              
              
                )
              
              
                1
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              dict2
              
                .
              
              get
              
                (
              
              
                "one"
              
              
                ,
              
              
                "不存在"
              
              
                )
              
              
                )
              
              
                #雖然get后面有報(bào)錯(cuò)內(nèi)容,但鍵存在所以不會(huì)顯示
              
              
                1
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              dict2
              
                .
              
              get
              
                (
              
              
                "five"
              
              
                ,
              
              
                "不存在"
              
              
                )
              
              
                )
              
              
                #five這個(gè)鍵不存在,所以會(huì)顯示報(bào)錯(cuò)內(nèi)容,給用戶良好的交互感。
              
              
不存在

            
          

三、刪除字典

  1. del dict1:
    刪除整個(gè)字典
  2. dict1.clear()
    刪除整個(gè)字典
  3. del dict[“key”]
    刪除字典中的鍵-值對(duì)
  4. dict.pop(“key”)

四、修改or添加字典


dict[“key”] = value:
如果key存在,則修改value,如果key不存在,則添加value

demo

            
              
                >>
              
              
                >
              
               dict2 
              
                =
              
              
                dict
              
              
                (
              
              one 
              
                =
              
              
                1
              
              
                ,
              
               two 
              
                =
              
              
                2
              
              
                ,
              
               three 
              
                =
              
              
                3
              
              
                )
              
              
                >>
              
              
                >
              
               dict2
              
                [
              
              
                "two"
              
              
                ]
              
              
                =
              
              
                22
              
              
                >>
              
              
                >
              
               dict2
              
                [
              
              
                "four"
              
              
                ]
              
              
                =
              
              
                4
              
              
                >>
              
              
                >
              
              
                print
              
              
                (
              
              dict2
              
                )
              
              
                {
              
              
                'one'
              
              
                :
              
              
                1
              
              
                ,
              
              
                'two'
              
              
                :
              
              
                22
              
              
                ,
              
              
                'three'
              
              
                :
              
              
                3
              
              
                ,
              
              
                'four'
              
              
                :
              
              
                4
              
              
                }
              
            
          

五、字典的內(nèi)置方法(BIF)


clear() #刪除字典內(nèi)所有元素
copy() #返回一個(gè)字典的淺復(fù)制
fromkeys() #初始化一個(gè)新字典 對(duì)象 ,以序列seq中元素做字典的鍵,val為字典所有鍵對(duì)應(yīng)的初始值

            
              c
              
                =
              
              
                dict
              
              
                .
              
              fromkeys
              
                (
              
              
                [
              
              
                7
              
              
                ,
              
              
                8
              
              
                ,
              
              
                9
              
              
                ]
              
              
                ,
              
              
                "test"
              
              
                )
              
              
                print
              
              
                (
              
              c
              
                )
              
            
          

get(key, default=None) #返回指定鍵的值,如果值不在字典中返回default值
has_key(key) #如果鍵在字典dict里返回true,否則返回false
items() #以列表返回可遍歷的(鍵, 值) 元組數(shù)組
keys() #以列表返回一個(gè)字典所有的鍵
setdefault(key, default=None) #和get()類似, 但如果鍵不已經(jīng)存在于字典中,將會(huì)添加鍵并將值設(shè)為default
update(dict2) #把字典dict2的鍵/值對(duì)更新到dict里
values() #以列表返回字典中的所有值

六、key的特性


  1. 不允許同一個(gè)鍵出現(xiàn)兩次。創(chuàng)建時(shí)如果同一個(gè)鍵被賦值兩次,后一個(gè)值會(huì)被記住
  2. 鍵必須不可變,所以可以用數(shù),字符串或元組充當(dāng),所以用列表就不行

七、利用字典特性實(shí)現(xiàn)通訊錄功能


python筆記——字典操作詳解_第1張圖片

            
              tong 
              
                =
              
              
                {
              
              
                "one"
              
              
                :
              
              
                1
              
              
                }
              
              
temp 
              
                =
              
              
                print
              
              
                (
              
              
                "|---歡迎進(jìn)入通訊錄程序---|\n|---1:查詢聯(lián)系人資料---|\n|---2:插入新的聯(lián)系人---|\n|---3:刪除已有聯(lián)系人---|\n|---4:退出通訊錄程序---|"
              
              
                )
              
              
                while
              
              
                True
              
              
                :
              
              
    instr 
              
                =
              
              
                int
              
              
                (
              
              
                input
              
              
                (
              
              
                "請(qǐng)輸入相關(guān)的指令代碼:"
              
              
                )
              
              
                )
              
              
                if
              
               instr 
              
                ==
              
              
                2
              
              
                :
              
              
        contact 
              
                =
              
              
                str
              
              
                (
              
              
                input
              
              
                (
              
              
                "請(qǐng)輸入聯(lián)系人姓名:"
              
              
                )
              
              
                )
              
              
                if
              
               contact 
              
                in
              
               tong
              
                :
              
              
            instr1 
              
                =
              
              
                str
              
              
                (
              
              
                input
              
              
                (
              
              
                "您輸入的用戶名已經(jīng)存在-->>"
              
              
                ,
              
              a
              
                ,
              
              
                ":"
              
              
                ,
              
              tong
              
                [
              
              a
              
                ]
              
              
                ,
              
              
                "\n是否修改用戶資料(Yes/No):"
              
              
                )
              
              
                )
              
              
                if
              
               instr1 
              
                ==
              
              
                "Yes"
              
              
                :
              
              
                tel 
              
                =
              
              
                int
              
              
                (
              
              
                input
              
              
                (
              
              
                "請(qǐng)輸入用戶聯(lián)系方式:"
              
              
                )
              
              
                )
              
              
                tong
              
                [
              
              contact
              
                ]
              
              
                =
              
               tel        
        
              
                else
              
              
                :
              
              
            tel 
              
                =
              
              
                int
              
              
                (
              
              
                input
              
              
                (
              
              
                "請(qǐng)輸入用戶聯(lián)系方式:"
              
              
                )
              
              
                )
              
              
            tong
              
                [
              
              contact
              
                ]
              
              
                =
              
               tel
    
              
                elif
              
               instr 
              
                ==
              
              
                1
              
              
                :
              
              
        contact 
              
                =
              
              
                str
              
              
                (
              
              
                input
              
              
                (
              
              
                "請(qǐng)輸入聯(lián)系人姓名:"
              
              
                )
              
              
                )
              
              
                if
              
               contact 
              
                in
              
               tong
              
                :
              
              
                print
              
              
                (
              
              tong
              
                [
              
              contact
              
                ]
              
              
                )
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                "通訊錄中沒有此人"
              
              
                )
              
              
                elif
              
               instr 
              
                ==
              
              
                3
              
              
                :
              
              
        contact 
              
                =
              
              
                str
              
              
                (
              
              
                input
              
              
                (
              
              
                "請(qǐng)輸入聯(lián)系人姓名:"
              
              
                )
              
              
                )
              
              
                if
              
               contact 
              
                in
              
               tong
              
                :
              
              
                del
              
               tong
              
                [
              
              contact
              
                ]
              
              
                else
              
              
                :
              
              
                print
              
              
                (
              
              
                "通訊錄中沒有此人"
              
              
                )
              
              
                elif
              
               instr 
              
                ==
              
              
                4
              
              
                :
              
              
                print
              
              
                (
              
              
                "|---感謝使用通訊錄程序---|"
              
              
                )
              
              
                break
              
            
          

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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

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

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

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

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 新邵县| 章丘市| 双辽市| 高州市| 巴东县| 织金县| 阿拉善左旗| 漾濞| 乌拉特中旗| 吴旗县| 雷山县| 永寿县| 曲松县| 上思县| 六盘水市| 岳池县| 海晏县| 松潘县| 饶阳县| 汉源县| 凉山| 鹤壁市| 杭锦旗| 贵港市| 曲松县| 台东县| 宁化县| 白银市| 丁青县| 和林格尔县| 丰都县| 韩城市| 张家口市| 平江县| 临夏市| 四子王旗| 吉隆县| 溆浦县| 托克托县| 高雄县| 息烽县|