python之dict與set

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是否存在,

blob.png

二是經過dict提供的get()方法,若是key不存在,能夠返回None(交互模式不返回),或者本身指定的value

blob.png


dict刪除pop()

blob.png

dict和list與tuple的優缺點

dict查詢速度快,佔用大量內存,list與tuple查詢速度慢,佔用內存小

dict的keys是不可變的,所以list不能做爲dict的key



set

set與dict相似,也是一組key的集合,可是不存儲value,因爲key不能重複,因此,在set中,沒有重複的key,(無順序的)

要建立一個set,須要提供一個list做爲輸入集合

blob.png

經過add(key)方法能夠添加元素到set中,能夠重複添加,但不會有效果

blob.png

經過remove(key)方法能夠刪除元素

blob.png

set能夠當作數學意義上的無序和無重複元素的集合,所以,兩個set能夠作數學意義上的交際,並集等操做:

blob.png


str.replace()替換等於從新賦值,list.sort()排序

相關文章
相關標籤/搜索