1. 程式人生 > >第五篇:基本資料型別及用法(2)

第五篇:基本資料型別及用法(2)

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}