1.建立新字典(根據語法和dict初始化方法)html
>>> my_dict={'a':1,'b':2,'c':3} >>> my_dict=dict({'a':1,'b':2,'c':3}) >>> mydcit=dict(a=1,b=2,c=3) >>> mydict=dict([('a',1),('b',2),('c',3)]) >>> mydict=dict(zip(['a','b','c'],[1,2,3]))
2. 建立字典(根據dict的內置函數)函數
2.1 從sequence裏取得keys,建立dictspa
>>> a=['a','b','c'] >>> mydict=dict.fromkeys(a,1) >>> mydict {'a': 1, 'c': 1, 'b': 1}
3.更新字典code
d[key] = value:直接改變key對應的value,若是不存在該key,該字典中建立一個key,value的元素。htm
>>> mydict {'a': 1, 'c': 1, 'b': 1} >>> mydict['a']=2 >>> mydict {'a': 2, 'c': 1, 'b': 1} >>> mydict['d']=4 >>> mydict {'a': 2, 'c': 1, 'b': 1, 'd': 4}
setdefault
(key[, default]):若是存在key,那麼就返回該key對應的value,不然該字典中建立一個key,value的元素。並返回default值blog
>>> mydict.setdefault('a',3) 2 >>> mydict {'a': 2, 'c': 1, 'b': 1, 'd': 4} >>> mydict.setdefault('e',5) 5 >>> mydict {'a': 2, 'c': 1, 'b': 1, 'e': 5, 'd': 4}
update
([other]):從其餘dict更新字典。ip
>>> mydict {'a': 2, 'c': 1, 'b': 1, 'e': 5, 'd': 4} >>> mydcit {'a': 1, 'c': 3, 'b': 2} >>> mydict.update(mydcit) >>> mydict {'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4} >>> mydcit['f']=6 >>> mydict.update(mydcit) >>> mydict {'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4, 'f': 6}
3.判斷key是否在字典中ci
key in dict 與 dict.has_key()等價。或者返回keys()來判斷。rem
>>> mydict {'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4, 'f': 6} >>> >>> 'a' in mydict True >>> mydict.has_key('a') True >>> 'a' in mydict.keys() True
4.刪除元素get
4.1 刪除指定key的元素。
pop
(key[, default])
If key is in the dictionary, remove it and return its value, else return default. If default is not given and key is not in the dictionary, a KeyError
is raised.
>>> mydict.pop('a',3) 1 >>> mydict.pop('g',3) 3
>>> mydict
{'b': 2, 'e': 5, 'd': 4, 'f': 6}
>>> del mydict['d']
>>> mydict
{'b': 2, 'e': 5, 'f': 6}
4.2任意刪除一個item
popitem
()
Remove and return an arbitrary (key, value)
pair from the dictionary.
popitem()
is useful to destructively iterate over a dictionary, as often used in set algorithms. If the dictionary is empty, calling popitem()
raises a KeyError
.
>>> mydict.popitem() ('c', 3)
5. iter(d)
Return an iterator over the keys of the dictionary. This is a shortcut for iterkeys()
.
>>> mydict {'b': 2, 'e': 5, 'f': 6} >>> mydict_iter=iter(mydict) >>> mydict_iter <dictionary-keyiterator object at 0x7fc1c20db578> >>> mydict_iter.next() 'b'
6.獲得指定key的value
>>> mydict {'b': 2, 'e': 5, 'f': 6} >>> mydict['b'] 2 >>> mydict.get('b',4) 2
[('b', 2), ('e', 5), ('f', 6)] >>> for i in mydict: ... print i ... b e f
6.字典的shallow copy 與 deep copy
淺copy。
若是key對應的alue是整型,更改了以後,兩個dict key對應的alues就是不同的
若是key對應的seuece類型,更改了以後,兩個dict key 對應的alues是同樣的。
由於若是是整形,指向的object的引用發生了變化。
而sequence對應的引用是不會發生變化的
[('b', 2), ('e', 5), ('f', 6)]>>> for i in mydict:... print i... bef