Python 字典經典方法合集

2021-10-01 08:47:11 字數 3974 閱讀 6606

訪問字典的值

字典中的 鍵/值 實際上就是一種對映關係,只要知道了 「鍵」,就肯定知道 「值」。

>>

> my_dict =

dict

(name =

'zhangsan'

,other =

'lisi'

)>>

> my_dict[

'other'

]'lisi'

所以字典中的 「鍵」 是多麼的好用,通過它可以查詢值,可以新增值,可以改變值。

既然字典是一種對映關係,所以在字典裡也就不需要考慮排序的問題,只要有了 「鍵」 就可以知道 「值」,那麼鍵 / 值對的位置在**也就不需要考慮了,如果你仔細看過上面的例子,你就會發現新增完的值在字典中的顯示並不按照它的新增順序。又因為沒有了排序,所以在字典中也沒有索引,所以就不存在索引 & 切片。

字典這種鍵 / 值對的方式儲存資料是一種非常高效的方法,查詢速度超快,相同的,如果你要在列表中查詢乙個值,需要從頭開始乙個個的找,直到找到了指定的索引值,但是在字典中,直接就可以通過 「鍵」 找到 「值」,小規模資料的時候這種好處可能不顯,當儲存大規模資料的時候,這種好處是相當明顯的。

字典的基本操作

下面我用一些例項來依次演示字典中的基本操作:

'''

'''>>

> my_dict =

>>

>

len(my_dict)

#返回字典中鍵 / 值對的數量

>>

> my_dict[

'age'

]#返回字典中的鍵值

>>

> my_dict[

'like']=

'c ++'

#改變字典中的鍵值

>>

> my_dict

>>

>

del my_dict[

'like'

]#刪除指定的鍵 / 值對

>>

> my_dict

>>

>

'like'

in my_dict #檢查字典中是否含有指定鍵的項

false

字典的方法

與前面所講述的其它物件型別相似,字典這個物件型別也有一些能夠實現對其操作的方法。

1.clear

clear 清除字典中所有的元素,得到的是空的字典。

>>

> my_dict =

>>

> my_dict.clear(

)>>

> my_dict

>>

>

del my_dict

>>

> my_dict

traceback (most recent call last)

: file ""

, line 1,in

nameerror: name 'my_dict'

isnot defined

上面的例子我們可以看出 clear 和 del 的區別很大,clear 是將字典清空,得到空字典,而 delete 是將字典刪除,直接從記憶體中去掉。

2.get & setdefault

這兩個是跟鍵 / 值對相關的方法,get 方法就是要得到字典中某個 「鍵」 的 「值」,那麼這就有人要說,不是上面的時候我們已經講過直接查就行嗎?在這裡的 get 和之前說的還不太一樣,這裡的 get 稍微寬鬆一些,如果想要查的值不存在,get 不會有啥反應,而之前說的方法會報錯。

'''

'''>>

> my_dict =

>>

> my_dict.get(

'name'

)'rocky'

>>

> my_dict.get(

'age'

)>>

> my_dict[

'age'

]traceback (most recent call last)

: file ""

, line 1,in

keyerror:

'age'

setdefault 也是用來查詢字典中某個 「鍵」 的 「值」,如果查詢的 「鍵」 存在的話就正常輸出,如果不存在的話,就在字典中加入這個鍵 / 值對。

>>

> my_dict =

>>

> my_dict.setdefault(

'like'

)'python'

>>

> my_dict.setdefault(

'age'

,'23'

)'23'

>>

> my_dict

3.items & keys & values

這是字典的 3 個方法,它們之間有相似之處,很簡單,請看下面的例項:

'''

'''>>

> my_dict =

>>

> my_d = my_dict.items(

)>>

> my_d

dict_items([(

'name'

,'rocky'),

('like'

,'python')]

)>>

> my_k = my_dict.keys(

)>>

> my_k

dict_keys(

['name'

,'like'])

>>

> my_v = my_dict.values(

)>>

> my_v

dict_values(

['rocky'

,'python'

])

4.pop & popitem

pop 和 popitem 是字典中的刪除操作。

pop 是以字典的 「鍵」 為引數,刪除指定的鍵 / 值對,pop 中的引數不能省略且如果刪除字典中沒有的鍵 / 值對,會報錯。

'''

'''>>

> my_dict =

>>

> my_dict.pop(

'name'

)'rocky'

>>

> my_dict

>>

> my_dict.pop(

)traceback (most recent call last)

: file ""

, line 1,in

typeerror: pop expected at least 1 arguments, got 0

>>

> my_dict.pop(

'age'

)traceback (most recent call last)

: file ""

, line 1,in

keyerror:

'age'

popitem 和 pop 有相似之處,但是 popitem 不用寫引數,但是它刪除的不是最後乙個,因為我們說過字典沒有順序,所以 popitem 是隨機刪除乙個,至於刪除誰,完全看命。

5.update

update 就是更新字典,引數可以是字典或者某種可迭代的物件,至於什麼是可迭代這裡你可以先知道這麼個詞,之後我們會說到,它的返回值是 none,你也可以理解成沒有返回值。

>>

> my_dict =

>>

> first =

>>

> my_dict.update(first)

>>

> my_dict

>>

> first

python筆記 字典操作合集

字典生成 dict1 print dict1 name 結果 1 dict1 key value 當key在原字典中不存在時,即為新增操作 改 增 dict1 name 2print dict1 name 結果 2 刪 del dict1 key 無返回值 刪除指定的鍵值對,並返回對應的值 v di...

Python合集之Python字典(四)

ps 前段時間因為年底時間比較繁忙,沒有及時更新,望大家見諒,今天趁著大年初一趕緊給大家更新一波。由於字典是可變序列,所以可以隨時在字典中新增 鍵 值 對 向字典中新增元素的語法格式如下 dictionary key value 引數說明 dictionary 表示字典名稱 key 表示要新增元素的...

字典排序什麼意思 Python 字典經典方法合集

訪問字典的值 字典中的 鍵 值 實際上就是一種對映關係,只要知道了 鍵 就肯定知道 值 所以字典中的 鍵 是多麼的好用,通過它可以查詢值,可以新增值,可以改變值。既然字典是一種對映關係,所以在字典裡也就不需要考慮排序的問題,只要有了 鍵 就可以知道 值 那麼鍵 值對的位置在 也就不需要考慮了,如果你...