首页 > 编程笔记 > Python笔记 阅读:9

Python Dict字典的用法(附带实例)

字典(Dict)也叫散列表,是 Python 中唯一的映射类型,是用于存储键、值对(由键映射到值)的关联容器。

映射类型是一种关联式的容器类型,用于存储对象与对象之间的映射关系。

字典的每个键、值(key=>value)对都用冒号(:)分隔,每个键、值对之间都用逗号(,)分隔,用花括号({ })定义,例如:
dict = {'messi': '169', 'xavi': '170', 'Iniesta': '171'}

Python访问字典

在字典中,键、值是一一对应的,可通过键名访问对应的值。
>>> dict = {'messi': '169', 'xavi': '170', 'Iniesta': '171'}
>>> print(dict['messi'])
169
>>> print(dict['xavi'])
170
>>>

Python修改字典

在字典中,内容是可以修改、添加及删除的。

1) 修改字典中已有键对应的值:
>>> dict = {'messi': '169', 'xavi': '170', 'Iniesta': '171'}
>>> dict['messi'] = '180'
>>> dict
{'messi': '180', 'xavi': '170', 'Iniesta': '171'}
>>>

2) 在字典中添加新的键、值:
>>> dict = {'messi': '169', 'xavi': '170', 'Iniesta': '171'}
>>> dict['Suarez'] = '182'
>>> dict
{'messi': '169', 'xavi': '170', 'Iniesta': '171', 'Suarez': '182'}
>>>

3) 使用 del 字典名[键]可以删除字典中的一对键、值,使用 clear 语句可以将字典清空,使用 del 字典名可以将字典删除:
>>> dict1 = {'messi': '169', 'xavi': '170', 'Iniesta': '171'}
>>> del dict1['messi']
>>> dict1
{'xavi': '170', 'Iniesta': '171'}
>>> dict1.clear()
>>> dict1
{}
>>> del dict1
>>> dict1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'dict1' is not defined
>>>
因为 del 语句可以将字典完全删除,所以再次访问该字典时会报错。

Python字典中键的特性

在字典中,键必须是唯一的,如果定义字典时使用了多个同样的键,则系统只记住最后一对键、值:
>>> dict = {'messi': '169', 'xavi': '170', 'messi': '171'}
>>> dict
{'messi': '171', 'xavi': '170'}

在字典中,值可以是任意数据类型,键是不可变的数据类型,如字符串、数字或元组,不可以是列表:
>>> dict = {'messi': '169', 1: 1, ('xavi'): '171'}
>>> dict
{1: 1, 'messi': '169', 'xavi': '171'}
>>> dict = {'messi': '169', 1: 1, ('xavi'): '171', ['list']:'list'}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

Python字典常用的函数

1) len(dict) 用于计算字典中的元素个数,即键的总数:
>>> dict = {'messi': '169', 'xavi': '170', 'Iniesta': '171'}
>>> len(dict)
3

2) dict.keys() 用于返回字典中所有的键:
>>> dict = {'messi': '169', 'xavi': '170', 'Iniesta': '171'}
>>> dict.keys()
dict_keys(['messi', 'xavi', 'Iniesta'])

3) dict.values() 用于返回字典中所有的值:
>>> dict = {'messi': '169', 'xavi': '170', 'Iniesta': '171'}
>>> dict.values()
dict_values(['169', '170', '171'])

4) dict1.update(dict2) 把字典 dict2 中的键、值更新到字典 dict1 中:
>>> dict1 = {'messi': '169', 'xavi': '170', 'Iniesta': '171'}
>>> dict2 = {'Suarez': '182'}
>>> dict1.update(dict2)
>>> dict1
{'messi': '169', 'xavi': '170', 'Iniesta': '171', 'Suarez': '182'}

相关文章