第五篇:基本資料型別及用法(2)
阿新 • • 發佈:2018-11-07
1 info={"k1":"v1","k2":"v2"} 2 v=info.setdefault("k3",123) 3 print(info,v) 4 #結果:{'k1': 'v1', 'k2': 'v2', 'k3': 123} 123
字典dict
1.字典的元素是鍵值對,各個元素用逗號分隔,基本結構如下:info={"k1:v1","k2:v2"}
2.字典的鍵(key)只可以是數字,字串,元祖,布林值
注意:布林值(False,True)為key時,可能與數字(0,1)作為key重複,只會承認數字那個key,例:
1 info={"k1":"v1",1:"v2",True:"v3"} 2 print(info) 3 #結果:{'k1': 'v1', 1: 'v3'}
3.值(value)可以是任意資料型別(數字,字串,bool,列表,元祖,字典),可巢狀多次
4.字典是無序的
5.通過鍵取字典值,info['k1']
例:
1 info={"k1":18,2:True,"k3":[11,22,33,{'kk1':'vv1','kk2':'vv2','kk3':(99,66)}],"k4":(11,22,33,44)} 2 v=info["k3"][3]["kk3"][0] 3 print(v) 4 #結果:99
6.字典支援元素刪除(鍵值對),例:del info["k4"]
7.字典for迴圈預設迴圈的是key -若想迴圈value,需要使用dict類的value()方法,例:
1 info={"k1":"v1",2:True,(12,"dd"):[1,2,3]} 2 for item in info.values(): 3 print(item) 4 #結果:v1 5 # True 6 # [1, 2, 3]
-若要獲取鍵值對,則使用dict類的item()方法,例:
1 info={"k1":"v1",2:True,(12,"dd"):[1,2,3]} 2 for k,v in info.items(): 3 print(k,v) 4 #結果:k1 v1 5 # 2 True 6 # (12, 'dd') [1, 2, 3]
8.字典dict類的方法:
-clear():清空所有鍵值對,例:
1 info={"k1":"v1","k2":"v2"} 2 info.clear() 3 print(info) 4 #結果:{}
-copy():拷貝一個字典,例:
1 info={"k1":"v1","k2":"v2"} 2 info2=info.copy() 3 print(info2) 4 #結果:{'k1': 'v1', 'k2': 'v2'}
-fromkeys():根據引數給的序列,建立字典,並指定統一的值。此方法是靜態方法,可用類dict直接呼叫,無需建立物件。例:
1 v=dict.fromkeys([4,"abc",True],123) 2 print(v) 3 #結果:{4: 123, 'abc': 123, True: 123}
-get():根據key獲取值,key不存在時,返回引數2指定的值(不指定引數2,預設返回None),例:
1 info={"k1":"v1","k2":"v2"} 2 v=info.get("k3",444) 3 print(v) 4 #結果:444
-pop():指定某個key刪除,返回刪除的value,例:
1 info={"k1":"v1","k2":"v2"} 2 v=info.pop("k1",444) 3 print(info,v) 4 #結果:{'k2': 'v2'} v1
若指定的key不存在,返回引數2指定的value值,例:
1 info={"k1":"v1","k2":"v2"} 2 v=info.pop("k3",444) 3 print(info,v) 4 #結果:{'k1': 'v1', 'k2': 'v2'} 444
-popitem():隨機刪除一個鍵值對,返回刪除的鍵值對
1 info={"k2":"v2","k1":"v1","k3":"v3"} 2 k,v=info.popitem() 3 print(info,k,v) 4 #結果:{'k2': 'v2', 'k1': 'v1'} k3 v3
-setdefault():指定key設定值
若key已經存在,則不會設定值,返回當前key對應的值,例:
1 info={"k1":"v1","k2":"v2"} 2 v=info.setdefault("k1",123) 3 print(info,v) 4 #結果:{'k1': 'v1', 'k2': 'v2'} v1
若key不存在,新增key並設定值,返回設定後key對應的值,例:
1 info={"k1":"v1","k2":"v2"} 2 v=info.setdefault("k3",123) 3 print(info,v) 4 #結果:{'k1': 'v1', 'k2': 'v2', 'k3': 123} 123
-update():存在的key,值覆蓋,不存在的key,追加更新,例:
info={"k1":"v1","k2":"v2"} info.update({"k1":1,"k3":3}) print(info) #結果:{'k1': 1, 'k2': 'v2', 'k3': 3}
1 info={"k1":"v1","k2":"v2"} 2 info.update(k1=1,k3=3) 3 print(info) 4 #結果:{'k1': 1, 'k2': 'v2', 'k3': 3}