總結 11個Python3字典內建方法大全及示例

2021-09-22 05:50:36 字數 4428 閱讀 7556

字典有著類似列表的高靈活度的特點,而與列表通過偏移索引的訪問元素的方式不同,字典是通過無序的鍵來訪問鍵值對的,即字典是任意物件的無需集合,可在原處增加或減少,且支援任意深度的巢狀(即可以包含諸如列表,其他的字典等),下面就介紹了python提供的11個字典內建方法的基本概述及簡單示例。

方法描述

clear

清除字典中所有鍵值對

copy

對字典進行淺拷貝,如需詳細了解可以參考上上節可變物件的淺拷貝和深拷貝詳解《python列表賦值,複製,深拷貝以及5種淺拷貝詳解》

fromkeys

fromkeys(*args, **kwargs) 建立乙個新字典,以序列的中元素做字典的鍵,value 為字典所有鍵對應的初始值

getget(self, k, d=none) 獲取指定鍵k對應的值,如果該鍵不存在則返回d,預設為none該方法可以用來判斷某鍵是否包含在字典內

items

返回類似集合的可遍歷的(鍵, 值) 元組列表

keys

返回類似集合的可遍歷的鍵列表

pop刪除乙個鍵並返回其對應的值

popitem

隨機返回並刪除字典中的一對鍵和值(一般刪除末尾對),若列表為空再呼叫此方法會丟擲keyerror異常

setdefault

setdefault(self, k, d=none) 函式和 get()方法 類似, 如果鍵不存在於字典中,將會新增鍵並將值設為預設值

update

更新字典中的鍵/值對,可以修改存在的鍵對應的值,也可以新增新的鍵/值對到字典中,將鍵值對新增到字典中,可能是字典,也可能是鍵-值對序列,詳見例項

values

返回類似集合的可遍歷的值列表

# dict

import copy

# 示例字典

d =,

'major'

:'python'

}print

(d)print

('clear'

.center(40,

'-')

)# clear|清除字典中所有鍵值對

d1 = copy.deepcopy(d)

d1.clear(

)print

(d1)

print

('copy'

.center(40,

'-')

)# copy|對字典進行淺拷貝,如需詳細了解可以參考上上節可變物件的淺拷貝和深拷貝詳解《python列表賦值,複製,深拷貝以及5種淺拷貝詳解》

d2 = copy.deepcopy(d)

d2_copy = d2.copy(

)d2_copy[

'web'][

'articl_nums']=

2print

(d2)

print

('fromkeys'

.center(40,

'-')

)# fromkeys| fromkeys(*args, **kwargs) 建立乙個新字典,以序列的中元素做字典的鍵,value 為字典所有鍵對應的初始值

d3 =

dict

.fromkeys(d)

print

(d3)

d3 =

dict

.fromkeys(d,

'sss'

)print

(d3)

print

('get'

.center(40,

'-')

)# get| get(self, k, d=none) 獲取指定鍵k對應的值,如果該鍵不存在則返回d,預設為`none` 該方法可以用來判斷某鍵是否包含在字典內

value = d.get(

'name'

)print

(value)

# 判斷鍵`'team'`是否存在於d中:

if d.get(

'team'):

print

(d.get(

'team'))

else

:print

(none

)print

('items'

.center(40,

'-')

)# items| 返回類似集合的可遍歷的(鍵, 值) 元組列表。

items = d.items(

)print

(items)

# 利用items 遍歷字典列印鍵值對:

for key, value in d.items():

print

('{}: {}'

.format

(key, value)

)print

('keys'

.center(40,

'-')

)# keys| 返回類似集合的可遍歷的鍵列表

keys = d.keys(

)print

(keys)

print

('pop'

.center(40,

'-')

)# pop| 刪除乙個鍵並返回其對應的值

d4 = copy.deepcopy(d)

value = d4.pop(

'name'

)print

(value)

print

(d4)

print

('popitem'

.center(40,

'-')

)# popitem| 隨機返回並刪除字典中的一對鍵和值(一般刪除末尾對),若列表為空再呼叫此方法會丟擲keyerror異常

d5 = copy.deepcopy(d)

key_value = d5.popitem(

)print

(key_value)

print

(d5)

print

('setdefault'

.center(40,

'-')

)# setdefault| setdefault(self, k, d=none) 函式和 get()方法 類似, 如果鍵不存在於字典中,將會新增鍵並將值設為預設值。

d6 = copy.deepcopy(d)

key_value = d6.setdefault(

'major'

)print

(key_value)

key_value = d6.setdefault(

'unkonw_key'

,'unkown_value'

)print

(key_value)

print

(d6)

print

('update'

.center(40,

'-')

)# update| 更新字典中的鍵/值對,可以修改存在的鍵對應的值,也可以新增新的鍵/值對到字典中,將e中鍵-值對新增到字典d中,e可能是字典,也可能是鍵-值對序列。詳見例項。

d7 = copy.deepcopy(d)

# 傳乙個字典

d7.update(

)print

(d7)

# 傳關鍵字

d7.update(five=

5, six=6)

print

(d7)

# 傳乙個包含乙個或多個元組的列表

d7.update([(

'seven',7

),('eight',8

)])print

(d7)

# 傳乙個包含乙個或多個列表的元組

d7.update(([

'nice',9

],['ten',10

]))print

(d7)

# 傳乙個zip()函式

d7.update(

zip(

['eleven'

,'twelve'],

[11,12

]))print

(d7)

# 使用以上任意方法修改存在的鍵對應的值

d7.update(one=

111, two=

222)

print

(d7)

print

('values'

.center(40,

'-')

)# values| 返回類似集合的可遍歷的值列表

python3字典遍歷 python3字典遍歷

python版本 python3.7 info infog.get name 得到字典info中name的值 info.keys 得到字典info中所有的鍵,結果是乙個物件 dict keys name age 需要注意在python2中該操作得到的是乙個列表 遍歷key for temp in i...

python3字典排序

說實話,對字典進行排序,這個說法本身就有問題,實際上,你無法對操縱字典說,字典,在你的底層實現裡,你就得按照我指定的順序來排列,如果這樣的話,字典就喪失了它的速度優勢,它也不是乙個字典了.好了,廢話不多說,我這裡稍微記錄一下我的做法吧.python2裡面原來是有dict.iteritems這樣乙個函...

python3 字典操作

dictionary 字典 裝下整個世界 字典是python中的唯一的對映型別,採用鍵值對的形式儲存資料 key value python對key進行雜湊函式運算,根據計算結果決定value儲存的位址,所以字典是無序儲存的,且key必須是可雜湊的。可雜湊表示key必須是不可變型別,如 數字 字串 元...