Python3自學筆記6 使用dict和set

2021-07-23 21:31:41 字數 1121 閱讀 2259

摘錄自:廖雪峰python3.5教程

內容:使用dict和set

一、dict

dict是一種對映容器,使用(key-value)儲存,具有極快的查詢速度。

d = 可以發現dict使用{}包含。

1)通過key找到value:d[『xiaohong』] 回車 80

2)向dict中放入資料:d['tom'] = 60。由於dict中key與value一一對應,對於乙個key,後面加入的value會覆蓋前面新增的value。

3)如果dict中沒有key會報錯,為了避免出現這種情況。可以通過兩種方法判斷可以是否在dict中。

a)通過in判斷:'chen' in d 回車 true

b)通過get判斷: d.get('jame') 回車 因為d中沒有這個key因此返回none(python互動式命令列不顯示)。也可以自己知道返回值。d.get('jame',-1)

4)刪除乙個key,用pop(key),對應的value也會被刪除。

dict存放的特點:

1)插入和查詢的速度極快,不會隨著key的增加而增加(通過索引表裡查這個value存放的記憶體位址,直接將它讀取出來)。

2)dict內部存放的順序和key放入的順序沒有關係。

3)需要占用大量的記憶體,記憶體浪費多。

list存放的特點:

1)插入和查詢的速度隨著元素的增加而減慢(必須找到list中key值存放的位置,再去查詢另乙個list中對應位置的value值)。

2)占用的空間小,浪費記憶體很少。

注:dict中可以必須是不可變物件。因為dict根據key來計算value的儲存位置,如果計算相同可以得出的結果不同,那dict內部就完全混亂了。

這種通過key計算位置的演算法稱為雜湊演算法(hash)。python中字串、整數等都是不可變的,因此,可以放心地作為key。而list是可變的就不能作為key。

二、set

set內只能存放key沒有value,且set內如有重複的key會被剔除。

set的初始化有乙個list完成 x=([1,2,3]),在這個set中有三個元素。

向set中新增元素x.add(4)

從set中刪除元素x.remove(3)

set與set之間可以做&和|這樣的數**算。

python3快速自學筆記1

字母大小寫轉換 message hello world print message 單詞大寫轉換 title print message.title 單詞全部大寫轉換 upper print message.upper 單詞全部小寫轉換 lower print message.lower 刪除空白 ...

python3自學之路 筆記4

python語言支援邏輯運算子,以下假設變數 a 為 10,b為 20 運算子邏輯表示式 描述例項 andx and y 布林 與 如果 x 為 false,x and y 返回 false,否則它返回 y 的計算值。a and b 返回 20。orx or y 布林 或 如果 x 是 true,它...

python3自學之路 筆記7

迭代器有兩個基本的方法 iter 和next 字串,列表或元組物件都可用於建立迭代器 a a b c d e b iter a for i in range len a print next b 這段 中b的型別為 在 python 中,使用了 yield 的函式被稱為生成器 generator 跟...