字典:
字典是無序的,它不能通過偏移來存取,只能通過鍵來存取。
字典 = {'key':value} key:類似我們現實的鑰匙,而value則是鎖。一個鑰匙開一個鎖
特點:
內部沒有順序,通過鍵來讀取內容,可嵌套,方便我們組織多種數據結構,並且可以原地修改裏面的內容,
屬於可變類型。
組成字典的鍵必須是不可變的數據類型,比如,數字,字符串,元組等,列表等可變對象不能作爲鍵。(顯然如果鍵是可變的話,我們將不能通過鍵找到相應的值)
使用元組作爲鍵時,要保證元組裏的數據是不可變對象
1 創建字典。{},dict()
info = {'name':'lilei', 'age': 20}
info = dict(name='lilei',age=20)
2 添加內容 a['xx'] = 'xx'
比如 info['phone'] = 'iphone5'
3 修改內容 a['xx'] = 'xx' ,
info['phone'] = 'htc'
update 參數是一個字典的類型,他會覆蓋相同鍵的值
info.update({'city':'beijing','phone':'nokia'})
htc 變成了nokia了
注:使用索引修改和添加內容時,有就修改,無則添加;使用update更新內容時一樣,就是可以一次操作多個鍵值對。
4 刪除 del,clear,pop
del info['phone'] 刪除某個元素
注:del info 是刪除info對字典的引用
info.clear() 清空字典,即刪除字典的全部元素
info.pop('name')
字典的pop方法:傳入鍵名,返回對應的鍵值,並將鍵值對刪除。
列表的pop方法:傳入索引下標,返回索引下標對應的值,並將該值刪除。
進一步對比:
如果索引超出範圍或者鍵不存在,都會拋出錯誤。字典的pop方法可以設定默認拋出的值,而列表的pop方法不可以設定。
5 in 和 has_key() 成員關係操作
python3中無has_key(),用in替代
6 keys(): 返回的是列表,裏面包含了字典的所有鍵
values():返回的是列表,裏面包含了字典的所有值 注意:這裏是python2,3會返回一個可迭代的對象
items:生成一個字典的容器:[()] 字典裏每個元素都是元組,元組的第一個元素爲鍵名,第二個元素爲對應的值
7 get:從字典中獲得一個值
傳入鍵名,返回對應的值。
如果傳入不存在的鍵名,則返回一個None Type類型,表面看像返回了空字符串。
可以自己定義不存在的鍵名時的返回值。
基礎篇13-python基本數據結構習題解答
未學習!