定義方式:經過大括號來存數據,經過key:value這種映射關係來定義鍵值對,每一個鍵值對經過逗號分隔python
key : 必定是不可變類型code
value:能夠是任意類型索引
三種定義方式:ip
d1 = {"name":"shen", "age":18}# ***** d2 = dict(name = "shen", age = 18,'sex' = 'male')# ***** l1 = ['name',"age"] l2 = ['egon',18] z1 = zip(l1,l2)
1.按照key:value 映射關係取值(可存可取)get
d1 = {'name':'shen','age':18} print(d1['age'])# 按照key查找value d1['age'] = 20# 改值 print(d1) d1['sex'] = 'male'# 增長鍵值對 print(d1)
2.成員運算in ,not in (默認判斷key)it
d1 = {'name':'shen','age':18} print("name" in d1)# >>>True print("shen" in d1)# >>>False
3.len():獲取當前字典中鍵值對的個數class
一、.get():經過key來查找value值,若是找不到,默認返回None,能夠經過第二個參數來修改默認返回值date
d1 = {'name':'shen','age':18} # print(d1["sex"])# 直接索引key查找值,找不到則報錯 print(d1.get("name")) print(d1.get("sex")) print(d1.get("sex",'male'))
二、keys、values、items:返回全部的key、返回全部的值、返回全部的鍵值對方法
應用於for in 結合使用d3
d1 = {'name':'shen','age':18} print(d1.keys())# 返回全部的key,返回列表 print(d1.values())# 返回全部的值,返回列表 print(d1.items())# 返回全部的鍵值對,返回值是列表套元組,每個鍵值對都是元組
for ke in d1.keys(): print(ke) for val in d1.values(): print(val) for item in d1.items(): print(item)# >>>('name', 'shen') # >>>('age', 18)
三、.pop():指定key進行刪除,有返回值是對應的value
d1 = {'name':'shen','age':18} d2 = d1.pop("name") print(d1)# >>>{'age': 18} print(d2)# >>>shen
四、.popitem():隨機彈出一個鍵值對刪除,返回值是元組
d1 = {'name':'shen','age':18,'sex':'male'} d3 =d1.popitem() print(d1)# {'name': 'shen', 'age': 18}隨機刪除後的字典 print(d3)# ('sex', 'male')返回值,元組
五、.update():用新字典代替舊字典,有則修改,無則增長
d1 = {'name':'shen','age':18,'sex':'male'} d1.update({'name':'wang','sex':'female'}) # 返回是None print(d1)# >>>{'name': 'wang', 'age': 18, 'sex': 'female'} d1.update({"height":180}) print(d1) # >>>{'name': 'wang', 'age': 18, 'sex': 'female', 'height': 180}
六、.fromkeys():生產一個新字典, 第一個參數(列表),它會以第一個參數中各個元素爲key,以第二個參數爲值,組成一個新字典值所有相同
d1 = {'name':'shen','age':18,'sex':'male'} d2 =d1.fromkeys([1,2],'shen') print(d1)# >>>{'name': 'shen', 'age': 18, 'sex': 'male'} print(d2)# >>>{1: 'shen', 2: 'shen'}
七、.setdefault():有返回值,有則返回查找的key對應的value,無則添加鍵值對,默認返回值是None,能夠修改
d1 = {'name':'shen','age':18,'sex':'male'} d2 = d1.setdefault('name',123) d3 = d1.setdefault('mmm',1) print(d2)# >>>shen print(d3)# >>>1 print(d1)# >>>{'name': 'shen', 'age': 18, 'sex': 'male', 'mmm': 1}
不能經過索引取值,只能經過key來取值,故是無序的,是可變類型,能夠存多個值