python 字典 dict 該注意的一些操作

2022-09-09 00:48:28 字數 1749 閱讀 5929

在用python處理dict 的時候,有幾個該注意的地方,這裡跟大家提一下:

1)操作dict 時,盡量少產生新的列表物件。比如:

遍歷dict的時候,如果用

dic = 

for key,value in

dic.items():

print(key,value)

此時,dic.items() 會產生乙個新的列表物件,占用寶貴的記憶體,我們可以換成:

for key in

dic:

print(key,dic[key])

直接遍歷dict中的key,再取出對應key的value

像是判斷  key 是否存在字典中,也是相同的道理

dic = 

s = "

hi"

如果我們用以下的判斷方法,會產生乙個新的列表物件,占用記憶體

s in dic.keys()

可以直接用:
s in dic
注意一點的是,has_key 在python3中已經被移除,因為用in處理速度更快

2)合併字典

常用的操作是

dict(dic1,**dic2)

這樣的合併方式會產生新的字典物件

而如果是 update 更新操作,即是在原來的字典物件上進行更新,如果dic1 和dic2 有相同key,那麼dic1 的值會被dic2覆蓋

dic1.update(dic2)
3)排序

字典本質上是個無序的容器物件(其實python3.6開始支援有序,不過這個有序是指按照key的新增順序),如果我們要對字典的 key 或者 value 排序,一般是將其轉換為list,再按照key或者value排序。

4)defaultdict    預設初始化字典

顧名思義,可以用來初始化字典:

dic = defaultdict(int)
看起來和

dic = {}
沒啥差別,但是,當你要做數值操作,比如加減乘除,計數啥的,就很有用了,以下是對列表chars 計數的操作

當我們取字典中不存在的鍵值時,會報 keyerror 的錯誤

f = 

print(f["

c"])

此時defaultdict可以對不存在的鍵賦值,通過傳入不同的變數型別,相應的也會輸出不同型別變數,如果要制定特定值的話,需要加上lambda 匿名函式

總結defaultdict 的用處:1)初始化字典   2)對不存在的鍵賦值

Python 字典 dict 函式

python 字典 dict 函式用於建立乙個新的字典,用法與 pyhon 字典 update 方法相似。dict 函式函式語法 dict key value 引數說明 返回乙個新的字典。以下例項展示了 dict 函式的使用方法 usr bin python3 dict0 dict 傳乙個空字典 p...

python基礎 dict字典

字典概述 1.概述 字典本質上也是乙個集合,是乙個無序的集合,儲存的時候以鍵值對 key value 的方式來進行儲存。它具有極快的查詢速度 2.key的特性 字典中的key必須是唯一的 key必須是不可變物件 不可變物件 str,number,bool,none,tuple 可變物件 list,d...

Python字典 dict 詳解

三.字典 dict 的一些基本操作 四.字典 dict 的常見操作 五.字典三種取值方式 六.字典的遍歷 python字典是另一種可變容器模型,可儲存任意型別物件。如字串 數字 元組等其他容器模型 因為字典是無序的所以不支援索引和切片。格式 字典名 元素以鍵值對存在 key 鍵值 value 實值 ...