python 字典


一、什么是字典

  字典是一種可變容器模型,且可存儲任意類型對象。字典的每個鍵值對(key->value)用冒號“:”分割,每個鍵值對之間用逗號“,”分割,整個字典包括在花括號“{}”中

  注意:鍵必須使用不可變類型即整形、字符串、元組

二、字典的基本操作

1.增加

1 dic = {'name':'tom'}
2 dic['age'] = 18
3 print(dic)

>>> {'name': 'tom', 'age': 18}

2.修改

1 dic = {'name':'tom'}
2 dic['name'] = 18
3 print(dic)

>>> {'name': 18}

3.  .setdefault() 操作

1 dic = {'name':'tom'}
2 dic['age'] = 18
3 print(dic)
4 
5 # 鍵存在則不進行操作,並把原有的值作為返回值;鍵不存在,則增加
6 dic.setdefault('age', '34')  
7 
8 print(dic)

>>> {'name': 'tom', 'age': 18}

       {'name': 'tom', 'age': 18}

4.輸出字典的鍵

1 dic = {'name':'tom', 'age':'22', 'hobby':'ss'}
2 print(dic.keys())   #輸出字典的鍵
3 print(list(dic.keys()))   #以列表的形式輸出字典的鍵
4 print(list(dic.values())) #以列表形式輸出字典鍵所對應的值

輸出:dict_keys(['name', 'age', 'hobby'])

          ['name', 'age', 'hobby']

          ['tom', '22', 'ss']

5.字典的更新( .update() )

1 dic1 = {'name':'tom', 'age':'22', 'hobby':'ss'}
2 dic2 = {'name':'tom', 'age':'12', 'hobby':'小可愛'}
3 print(dic1)
4 dic1.update(dic2)  #把dic2的內容更新到dic1中
5 print(dic1)

輸出: {'name': 'tom', 'age': '22', 'hobby': 'ss'}

            {'name': 'tom', 'age': '12', 'hobby': '小可愛'}

6.刪除鍵值對

 1 dic1 = {'name':'tom', 'age':'12', 'hobby':'小可愛'}
 2 dic2 = {'name':'tom', 'age':'12', 'hobby':'小可愛'}
 3 del dic1['name']    #刪除指定鍵值對
 4 print(dic1)
 5 
 6 ret = dic1.pop('age')    #刪除指定鍵值對,並返回鍵值所對應的值
 7 print(ret)
 8 print(dic1)
 9 
10 a = dic2.popitem()    #隨機刪除某個鍵值對,並以元組方式返回
11 print(a,dic2)

輸出: {'age': '12', 'hobby': '小可愛'}

      12

      {'hobby': '小可愛'}

      ('hobby', '小可愛') {'name': 'tom', 'age': '12'}

7.清空和刪除整個字典

1 dic = {'name':'tom', 'age':'12', 'hobby':'小可愛'}
2 dic.clear()   #清空字典
3 print(dic)
4 
5 del dic   # 刪除整個字典

輸出結果: {}

8.字典的嵌套

 1 dic_nate = {
 2     "歐美":{
 3         "www.123.com":["質量一般","免費"],
 4         "www.234.com":["質量一般","高清"],
 5         "www.345.com":["質量優","收費,屌絲繞路"]
 6     },
 7     "日韓":{
 8         "www.456.com":["質量優","免費"]
 9     },
10     "大陸":{
11         "www.567.com":["質量差","網速慢"]
12     }
13 }
14 
15 dic_nate['歐美']["www.234.com"][1] = '垃圾'  # 修改鍵值
16 print(dic_nate)

輸出結果:

  {'歐美': { 'www.123.com': ['質量一般', '免費'],

        'www.234.com': ['質量一般', '垃圾'],

        'www.345.com': ['質量優', '收費,屌絲繞路']},

  '日韓': {'www.456.com': ['質量優', '免費']},

  '大陸': {'www.567.com': ['質量差', '網速慢']}}

9.字典的遍歷

1 dic = {'name':'tom', 'age':'12', 'hobby':'小可愛'}
2 
3 for n in dic:
4     print(n) #輸出鍵
5     print(n, dic[n]) #輸出鍵和鍵值

輸出:name

     name tom

     age 

     age 12

     hobby

     hobby 小可愛

1 dic = {'name':'tom', 'age':'12', 'hobby':'小可愛'}
2 
3 for n,m in dic.items():  #用兩個變量分別接收鍵和鍵值
4     print(n, m)

輸出結果:name tom

     age 12

       hobby 小可愛

1 a = eval(a)    #轉換成字典類型

 











免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM