1. 程式人生 > >python學習6-內置數據結構4-字典

python學習6-內置數據結構4-字典

erro {} 修改 下標 重復 增加 不存在 內存 對象

字典是key-value結構
1、定義
d = {}
d = dict()
d = {‘a‘:1,‘b‘:2}
d = dict([‘a‘,1],[‘b‘,2]) #可叠代對象的元素必須是二元組,二元組第0個元素為key,第1個元素為vlaue
d = dict.fromkeys(range(5)) #傳人可叠代對象的key,值為none
d = dict.fromkeys(range(5),‘abc‘) #傳人可叠代對象的key,值為abc
2、增加
d[‘a‘] = 1 #可以直接使用key作為下標,不存在會增加。
d.update([(‘c‘,3),(‘d‘,0)])
d.update(字典) #通常用於合並字典
3、修改
d[‘key‘] = value #當key存在則修改
4、刪除
d.pop(key[,‘default‘]) #刪除並返回該key的value,不存在key error.當有默認值時,key不存在時返回默認值
d.popitem() #隨機刪除並返回一個二元組,空字典key error
d.clear() #清空字典
5、訪問
d[key] #通過key訪問value,不存在key error
d.get(key[,‘default‘]) #不存在返回none,有默認值時返回默認值
d.setdefault(key[,‘default‘]) #key存在返回value,不存在添加該 key,value默認值。
d.keys() #返回字典的key
d.values() #返回字典的value
d.items() #返回字典的key和vaue
d.keys() d.values() d.items() 在p2中都是返回列表,會復制一份內存,p3中是生成器,不會復制內存在p2中可以用d.iteritems()
6、字典限制
字典的key不能重復,且可hash,無序
7、默認字典
from collections import defaultdict
d1 = defaultdict(list) #default初始化時,需要傳入一個函數,這個函數也叫工廠函數,當我們通過下標訪問這個key不存在時,defaultdict會調用函數生成一個對象作為這個key的value。
8、有序字典
d = OrderedDict() #按插入順序

python學習6-內置數據結構4-字典