dict全稱dictionary,使用鍵-值(key-value)存儲,書寫一個dictshell
name={:::} (name[])
當數據量大時,字典比列表和元組速度快ide
dict實現原理和查字典是同樣的,假設字典包含一萬字,list查詢方法是一個一個查找,知道找到爲止,dict是查這個字對應的頁碼,而後直接找到該頁。排序
第二種方式書寫字典內存
name['xy']=24rem
調用與更新。get
name['xy']數學
name['xy']=55it
name['xy']io
若是鍵不存在,會報異常ast
>>> name['sss']
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
name['sss']
KeyError: 'sss'
要避免key不存在的錯誤,有兩種辦法,一是經過in判斷key是否存在,
二是經過dict提供的get()方法,若是key不存在,能夠返回None(交互模式不返回),或者本身指定的value
dict刪除pop()
dict和list與tuple的優缺點
dict查詢速度快,佔用大量內存,list與tuple查詢速度慢,佔用內存小
dict的keys是不可變的,所以list不能做爲dict的key
set
set與dict相似,也是一組key的集合,可是不存儲value,因爲key不能重複,因此,在set中,沒有重複的key,(無順序的)
要建立一個set,須要提供一個list做爲輸入集合
經過add(key)方法能夠添加元素到set中,能夠重複添加,但不會有效果
經過remove(key)方法能夠刪除元素
set能夠當作數學意義上的無序和無重複元素的集合,所以,兩個set能夠作數學意義上的交際,並集等操做:
str.replace()替換等於從新賦值,list.sort()排序