字典有著類似列表的高靈活度的特點,而與列表通過偏移索引的訪問元素的方式不同,字典是通過無序的鍵來訪問鍵值對的,即字典是任意物件的無需集合,可在原處增加或減少,且支援任意深度的巢狀(即可以包含諸如列表,其他的字典等),下面就介紹了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必須是不可變型別,如 數字 字串 元...