一、什麼是字典 字典是一種可變容器模型,且可存儲任意類型對象。字典的每個鍵值對(key->value)用冒號“:”分割,每個鍵值對之間用逗號“,”分割,整個字典包括在花括弧“{}”中 註意:鍵必須使用不可變類型即整形、字元串、元組 二、字典的基本操作 1.增加 >>> {'name': 'tom', ...
一、什麼是字典
字典是一種可變容器模型,且可存儲任意類型對象。字典的每個鍵值對(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) #轉換成字典類型