一. 字典由索引(key)和它對應的值value組成,字典是Python唯一的映射類型。字典也被稱作關聯數組或哈希表。每個鍵與值用冒号隔開(:),每對用逗号分割,整體放在花括号中({})。鍵必須獨一無二,但值則不必。keys() 傳回鍵清單,values() 傳回值清單,items() 傳回鍵值對的元組,has_key(key) 傳回是否含有該key。
>>> a={'name':'zhzhgo','age':25}
>>> a
{'age': 25, 'name': 'zhzhgo'}
>>> a.keys()
['age', 'name']
>>> a.values()
[25, 'zhzhgo']
>>> a.items()
[('age', 25), ('name', 'zhzhgo')]
>>> a.has_key('name')
True
>>>
兩個重要的點需要記住:
1. 不允許同一個鍵出現兩次。建立時如果同一個鍵被指派兩次,後一個值會被記住;
2. 鍵必須不可變,可以用數字,字元串或元組充當,但是不可以用清單。
二. 用工廠方法dict()和内建方法fromkeys()建立字典
>>> a=dict((['name','zhzhgo'],['age',25]))
>>> a
{'age': 25, 'name': 'zhzhgo'}
>>> a={}.fromkeys(('x','y'),1)
>>> a
{'y': 1, 'x': 1}
>>>
三. 檢視周遊字典
get()函數,有則傳回,無則傳回預設值
>>> a={'name':'zhzhgo','age':25}
>>> a['name']
'zhzhgo'
>>> a['age']
25
>>> a.get('name')
'zhzhgo'
>>> a.get('height',180)
180
>>> for i in a:
print i,
age name
>>> for i in a:
print a[i],
25 zhzhgo
>>> for k,v in a.items():
print k,v
age 25
name zhzhgo
>>>
四. 增删改字典
dict1.update(dict2) 更新dict2到dict1,無則添加,重複則覆寫
>>> a={'name':'zhzhgo','age':25}
>>> a['height']=180
>>> a
{'age': 25, 'name': 'zhzhgo', 'height': 180}
>>> del a['height']
>>> a
{'age': 25, 'name': 'zhzhgo'}
>>> b={'age':24}
>>> a.update(b)
>>> a
{'age': 24, 'name': 'zhzhgo'}
>>> b={'height':180}
>>> a.update(b)
>>> a
{'age': 24, 'name': 'zhzhgo', 'height': 180}
>>> h=a.pop('height')
>>> h
180
>>> a
{'age': 24, 'name': 'zhzhgo'}
>>> a.clear()
>>> a
{}
>>>
>>> a={'name':'zhzhgo','age':25}
>>> import json
>>> json.dumps(a)
'{"age": 25, "name": "zhzhgo"}'
>>> b=json.loads('{"age": 25, "name": "zhzhgo"}')
>>> b
{u'age': 25, u'name': u'zhzhgo'}
>>>