Python3中dict字典的相關操作函數

字典對象的內建函數

1. clear()

清空字典. 例:

>>> a = {1:3, 2:4}
>>> a.clear()
>>> a
{}

 

2. copy()

複製字典, 例:

>>> a = {1:3, 2:4}
>>> b = a.copy()
>>> b
{1: 3, 2: 4}

 

3. fromkeys(seq [, value])

返回一個seq序列作為鍵, value作為每個鍵的值的字典.例:

>>> a = dict.fromkeys((1, 2, 3, 4), 5)
>>> a
{1: 5, 2: 5, 3: 5, 4: 5}

 

4. get(key [, default])

返回指定鍵的值, 如果不存在該鍵, 則返回default設置的值, 默認為’None’. 例:

>>> a
{1: 5, 2: 5, 3: 5, 4: 5}
>>> a.get(1)
5

 

5. items()

返回一個dict_items的列表視圖對象, 即指向字典的可視對象,該對象不能做任何修改, 僅為可讀對象.

字典發生改變後, 這個對象的視圖也隨之改變.例:

>>> a
{1: 5, 2: 5, 3: 5, 4: 5}
>>> b = a.items()
>>> b
dict_items([(1, 5), (2, 5), (3, 5), (4, 5)])
>>> del a[1]
>>> b
dict_items([(2, 5), (3, 5), (4, 5)])

 

6. keys()

返回一個僅包含鍵的列表的視圖對象, 例:

>>> a
{2: 5, 3: 5, 4: 5}
>>> a.keys()
dict_keys([2, 3, 4])

 

7. setdefault( key [, default])

跟get一樣返回key的值, 但是如果key不存在, 那麼將創建一個key參數的鍵,並設定default參數為鍵的值, 默認為’None’. 例:

>>> a
{2: 5, 3: 5, 4: 5, 5: 5}
>>> a.setdefault(1)
>>> a
{2: 5, 3: 5, 4: 5, 5: 5, 1: None}

 

8. update(dict)

用dict字典更新該字典. 例:

>>> a, b = {1:5, 2:5, 3:5}, {4:5, 5:5}
>>> a.update(b)
>>> a
{1: 5, 2: 5, 3: 5, 4: 5, 5: 5}

 

9. values()

返回包含值的列表的視圖對象. 例:

>>> a
{1: 5, 2: 5, 3: 5, 4: 5, 5: 5}
>>> a.values()
dict_values([5, 5, 5, 5, 5])
>>> 

 

10. pop(key [,default])

刪除指定鍵的值並返回該值,  如果找不到指定key則返回default值.

>>> a
{1: 5, 2: 5, 3: 5, 4: 5}
>>> a.pop(4)
5
>>> a
{1: 5, 2: 5, 3: 5}

 

11. popitem()

按照LIFO(Last In First Out:後進先出)原則刪除. 即刪除最後一個鍵值對並返回.例:

>>> a = {1:5, 2:5, 3:5, 4:5, 5:5}
>>> a.popitem()
(5, 5)
>>> a
{1: 5, 2: 5, 3: 5, 4: 5}

 

字典相關可用關鍵字及Pyhon函數

1. len(dict)

返回字典的元素個數.例:

>>> a = {1: 5, 2: 5, 3: 5, 4: 5}
>>> len(a)
4

 

2. str(dict)

返回字典的字符串形式. 例:

>>> a = {1: 5, 2: 5, 3: 5, 4: 5}
>>> str(a)
'{1: 5, 2: 5, 3: 5, 4: 5}'

 

3. del

該關鍵字非常強大, 可以刪除變量. 也能用來刪除字典內的元素.例:

>>> a
{1: 5, 2: 5, 3: 5, 4: 5}
>>> del a[1]
>>> a
{2: 5, 3: 5, 4: 5}

 

4. in

成員運算符, 返回布爾值, 可用來進行判定鍵(key)是否在字典內.用法:

key in dict

例:

>>> a = {1:2, 3:4, 5:6}
>>> 1 in a
True

同樣還有另一個成員運算符 not in.判定是否是不存在.返回布爾值. 例:

>>> a = {1:2, 3:4, 5:6}
>>> 2 not in a
True

注意:該運算符直接用作字典僅對鍵做判斷. 不對值進行判斷.可以用 dict.values() 對值進行判斷