1. 程式人生 > >Python中的字典

Python中的字典

pytho 返回 -s del 返回值 add code lis pop

Python內置了字典:dict,全稱dictionary,使用鍵-值(key-value)存儲,具有極快的查找速度。
定義一個字典:
dic = {name:jack,age:18,weight:76,height:175}
其中 ‘name‘,‘age‘,‘weight‘,‘height‘是字典中的key,
key在字典中是唯一的,其數據類型為不可變的對象,如:字符串,整數等,list是可變的對象,就不能做為key來使用

dict和list比較:
  dict: 查找和插入的速度極快,不會隨著key-value的增加而變慢;但是占用的資源比較多,dict是無序的
  list:查找和插入的速度慢,會隨著元素的增加時間變長,但是占用的資源較少,list是有序的

dict的常用方法:

查找:字典的查找通過key來查找,
value = dic[name]
print(value)
如果key不存在,則會報錯 KeyError,可以通過 get()方法來獲取,並指定自定義的返回值
value = dic.get(name,沒有這個鍵)
print(value)

上面的代碼,使用get()方法,來獲取 ‘name‘對應的value 如果‘name‘存在,則返回對應的value,如果 ‘name‘ 不存在,則返回 ‘沒有這個鍵‘,如果第二個參數不指定,默認返回 None

增加內容:
dic[adress] = beijing  # 通過 dict[key] = value 的方式來增加元素。註意:如果key存在,則會覆蓋對應的value
print(dic)
還可以通過setdefault() 方法來增加內容
dic.setdefault(house_number,888)
print(dic)

使用setdefault() 方法,如果只添加key,不給第二個參數賦值,默認為None
dic.setdefault(house)
print(dic)
刪除內容 pop() 方法
dic_pop = dic.pop(adre,沒有此鍵) 
print(dic_pop)
print(dic)
上面的代碼:刪除指定的key-value,並返回對應的value。如果指定的key不存在, 返回自定義內容,但,如果key不存在,第二個參數沒有填寫。則會報錯

popitem()方法
print(dic.popitem()) # 隨機刪除一對key-value對兒,並返回刪除的key-value 以元組的形式返回

del 方法 無返回值
del dic[name]
print(dic)

clear()方法 清空字典
dic.clear()
print(dic)

修改字典內容,可以通過修改key對應的值來操作
dic = {name:jack,age:18,weight:76,height:175}
dic[name] = tom
print(dic)

update() 方法
dic_1 = {name:jack,age:18}
dic_2 = {name:tom,address:beijing,age:19,height:178}
dic_1.update(dic_2)
print(dic_1)
以上代碼,將dic_2 的內容更新到 dic_1中去

字典循環操作
dic = {name:jack,age:18,weight:76,height:175}
for k in dic:
    print(k) # 默認打印字典的key
for k in dic.keys():
    print(k) # 打印字典的key
for v in dic.values():
    print(v) # 打印字典中的value
for k,v in dic.items():
    print(k = %s, v = %s %(k,v)) # 打印key 和 value

其中 key() 方法,valuses()方法,以及 items() 方法,返回的數據類型可以當成一個list來使用,但是返回的類型如下:

print(type(dic.keys()))  # <class ‘dict_keys‘>
print(type(dic.values()))  # <class ‘dict_values‘>
print(type(dic.items()))  # <class ‘dict_items‘>




Python中的字典