2-8 字典dict
阿新 • • 發佈:2018-01-27
end 練習 9.png 必須 包含 技術分享 特性 冒號 個人
1.如何在一個變量裏存儲公司每個員工的個人信息?
2.字典的定義與特性
字典是Python語言中唯一的映射類型。
定義:{key1:value1,key2:value2}
1、鍵與值用冒號“:”分開;
2、項與項用逗號“,”分開;
特性:
1.key-value結構
2.key必須可hash、且必須為不可變數據類型、必須唯一
3.可存放任意多個值、可修改、可以不唯一
4.無序
5.查找速度快
假設key對應的hash值為下面的數字,排序然後根據二分法查找這個值所對應的key的hash值,
二分法查找速度快
3.字典的創建
person = {"name": "alex", ‘age‘: 20} #或 person = dict(name=‘seven‘, age=20) #或 person = dict({"name": "egon", ‘age‘: 20}) #或 person = dict(([‘name‘,‘苑昊‘],[‘文周‘,18])) {}.fromkeys(seq,100) #不指定100默認為None #註意 >>> dic={}.fromkeys([‘k1‘,‘k2‘],[]) >>> dic {‘k1‘: [], ‘k2‘: []} >>> dic[‘k1‘].append(1) >>> dic {‘k1‘: [1], ‘k2‘: [1]}
>>> info {‘jack‘: [22, ‘mod‘, ‘ui‘, 555], ‘alex‘: [23, ‘it‘, ‘it‘, 1000]} >>> info[‘jack‘] [22, ‘mod‘, ‘ui‘, 555] >>> >>> info[‘alex‘] [23, ‘it‘, ‘it‘, 1000] >>> >>> info[‘alex‘][0] 23 >>> info[‘alex‘][1] = ‘老師‘ >>> info {‘jack‘: [22, ‘mod‘, ‘ui‘, 555], ‘alex‘: [23, ‘老師‘, ‘it‘, 1000]}
4 .字典的常見操作
新增 1、dic[‘new_key‘] = ‘new_value‘; 2、dic.setdefault(key, None) ,如果字典中不存在Key鍵,由 dic[key] = default 為它賦值;_
查看 1、dic[‘key‘],返回字典中key對應的值,若key不存在字典中,則報錯; 2、dict.get(key, default = None) 返回字典中key對應的值,若key不存在字典中,則返回default的值(default默認為None)
刪除 1、dic.pop(key[,default]) 和get方法相似。如果字典中存在key,刪除並返回key對應的vuale;如果key不存在,且沒有給出default的值,則引發keyerror異常; 2、dic.clear() 刪除字典中的所有項或元素;
鍵、值、鍵值對 1、dic.keys() 返回一個包含字典所有KEY的列表; 2、dic.values() 返回一個包含字典所有value的列表; 3、dic.items() 返回一個包含所有(鍵,值)元祖的列表; 4、dic.iteritems()、dic.iterkeys()、dic.itervalues() 與它們對應的非叠代方法一樣,不同的是它們返回一個叠代子,而不是一個列表;
修改 1、dic[‘key‘] = ‘new_value‘,如果key在字典中存在,‘new_value‘將會替代原來的value值; 2、dic.update(dic2) 將字典dic2的鍵值對添加到字典dic中,key有的話會覆蓋
循環 1、for k in dic.keys() 2、for k,v in dic.items() 3、for k in dic
長度
1、len(dic)
5.多級字典的嵌套
6.字典-練習題
2-8 字典dict