字典(Dictionary)是 Python 中的⼀种数据类型,⽤来存储**键(key)值(value)对**。字典数据能够使⽤键名快速取回、添加、删除、编辑值。字典和其他语⾔中的数组(array)或者哈希表(hash)⾮常相似。字典是可变(mutable)序列。
# 6.1 创建字典 #
使⽤花括弧 () 就可创建字典。字典中的每⼀个项⽬都由键名、冒号 (:) 和值组成,多个项⽬之间⽤逗号 (,) 分割。让我们看⼀个实例:
friends = {
'tom' : '66666666',
'jerry' : '88888888'
}
上⾯的变量 friends 是⼀个含有两个项⽬的字典。需要注意的⼀点是,键名必须是可哈希类型,⽽值可以是任意类型。字典中的键名必须是唯⼀的。
# 6.2 获取、修改和添加字典元素 #
获取字典中的项⽬,使⽤如下语法:
dictionary_name['key']
例如:
>>> friends['tom']
'66666666'
如果字典中存在指定的键名,则返回对应的值,否则抛出键名异常。
添加和编辑项⽬,使⽤如下语法:
dictionary_name['newkey'] = 'newvalue'
例如:
>>> friends['bob'] = '99999999'
>>> friends
{'jerry': '88888888', 'bob': '99999999', 'tom': '66666666'}
删除字典中的项⽬使⽤如下语法:
del dictionary_name['key']
例如:
>>> del friends['bob']
>>> friends
{'tom': '66666666', 'jerry': '88888888'}
# 6.3 遍历字典 #
我们可以使⽤循环遍历字典中的所有项⽬。
>>> friends = {
... 'tom' : '66666666',
... 'jerry': '88888888'
... }
>>> for key in friends:
... print(key, ":", friends[key])
...
tom : 66666666
jerry : 88888888
# 6.4 字典比较 #
使⽤ == 和!= 操作符判断字典是否包含相同的项⽬。
>>> d1 = {"mike":41, "bob":3}
>>> d2 = {"bob":3, "mike":41}
>>> d1 == d2
True
>>> d1 != d2
False
>>>
不能使⽤其它的关系操作符 (< , > , >= , <= ) ⽐较字典类型变量。
# 6.5 字典常用方法 #
Python 提供了多个内置的⽅法,⽤来操作字典,常⽤⽅法见下表3-6:
![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1Zlcm1vbnRf_size_16_color_FFFFFF_t_70][]
>>> friends = {'tom': '111-222-333', 'bob': '888-999-666', 'jerry': '
666-33-111'}
>>> friends.popitem()
('tom', '111-222-333')
>>> friends.clear()
>>> friends
{}
>>> friends = {'tom': '111-222-333', 'bob': '888-999-666', 'jerry': '
666-33-111'}
>>> friends.keys()
dict_keys(['tom', 'bob', 'jerry'])
>>> friends.values()
dict_values(['111-222-333', '888-999-666', '666-33-111'])
>>> friends.get('tom')
'111-222-333'
>>> friends.get('mike', 'Not Exists')
'Not Exists'
>>> friends.pop('bob')
'888-999-666'
>>> friends
{'tom': '111-222-333', 'jerry': '666-33-111'}
[watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1Zlcm1vbnRf_size_16_color_FFFFFF_t_70]: /images/1599872687812.png