dict

  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

相關文章
相關標籤/搜索