Python 字典(dict)详解

什么是字典(dict)
在Python中,字典(dict)是一种可变的、无序的、由键值对组成的数据结构。每个键值对(key-value pair)在字典中都是唯一的,key是不可变的,通常是字符串或数字类型,而value可以是任意数据类型。
字典的表现形式为{key1: value1, key2: value2, ...}。
字典的特点包括:
- 字典是无序的,即字典中元素的顺序是不固定的,不同环境下打印可能有不同的顺序。
- 字典中的key是唯一的,如果有重复的key出现,后面的会覆盖前面的。
- 字典是可变的,即可以对字典进行增删改操作。
- 字典的key必须是不可变类型,如字符串、数字、元组。value可以是任意数据类型。
创建字典
我们可以通过两种方法来创建一个字典:直接赋值和使用dict()函数。
直接赋值
直接赋值的方式是最简单的创建字典的方法,我们通过{}大括号来表示一个空字典,然后向其中添加键值对。
示例代码如下:
# 创建一个空字典
my_dict = {}
# 向字典中添加键值对
my_dict['name'] = 'Alice'
my_dict['age'] = 25
my_dict['gender'] = 'female'
print(my_dict)
运行以上代码,输出为:
{'name': 'Alice', 'age': 25, 'gender': 'female'}
使用dict()函数
我们也可以使用dict()函数来创建一个字典。dict()函数接受一个包含键值对的元组列表或者其他字典作为参数,并返回一个新的字典。
示例代码如下:
# 使用dict()函数创建字典
my_dict = dict([('name', 'Bob'), ('age', 30), ('gender', 'male')])
print(my_dict)
运行以上代码,输出为:
{'name': 'Bob', 'age': 30, 'gender': 'male'}
字典的操作
访问字典中的值
我们可以通过字典的key来访问对应的value。如果key存在于字典中,将返回对应的value;如果key不存在,会抛出KeyError异常。
示例代码如下:
# 访问字典中的值
my_dict = {'name': 'Charlie', 'age': 27, 'gender': 'male'}
print(my_dict['name'])
print(my_dict['age'])
print(my_dict['city']) # 不存在的key,会抛出KeyError异常
运行以上代码,输出为:
Charlie
27
KeyError: 'city'
更新字典的值
如果我们想要更新字典中某个key对应的value,可以直接对该key进行赋值操作。
示例代码如下:
# 更新字典中的值
my_dict = {'name': 'David', 'age': 22, 'gender': 'male'}
my_dict['age'] = 25
print(my_dict)
运行以上代码,输出为:
{'name': 'David', 'age': 25, 'gender': 'male'}
删除键值对
我们可以使用del语句来删除字典中的某个键值对。
示例代码如下:
# 删除键值对
my_dict = {'name': 'Eve', 'age': 35, 'gender': 'female'}
del my_dict['age']
print(my_dict)
运行以上代码,输出为:
{'name': 'Eve', 'gender': 'female'}
字典的方法
Python中字典提供了多种方法用于操作字典,下面介绍一些常用的方法。
keys()方法
keys()方法返回字典中所有key的视图(view)。
示例代码如下:
# 使用keys()方法
my_dict = {'name': 'Frank', 'age': 28, 'gender': 'male'}
keys = my_dict.keys()
print(keys)
运行以上代码,输出为:
dict_keys(['name', 'age', 'gender'])
values()方法
values()方法返回字典中所有value的视图(view)。
示例代码如下:
# 使用values()方法
my_dict = {'name': 'Grace', 'age': 30, 'gender': 'female'}
values = my_dict.values()
print(values)
运行以上代码,输出为:
dict_values(['Grace', 30, 'female'])
items()方法
items()方法返回字典中所有键值对的视图(view),每个键值对以元组的形式表示。
示例代码如下:
# 使用items()方法
my_dict = {'name': 'Helen', 'age': 33, 'gender': 'female'}
items = my_dict.items()
print(items)
运行以上代码,输出为:
dict_items([('name', 'Helen'), ('age', 33), ('gender', 'female')])
get()方法
get()方法用于获取指定key的value,如果key不存在,返回默认值(默认为None)。
示例代码如下:
# 使用get()方法
my_dict = {'name': 'Ian', 'age': 36, 'gender': 'male'}
age = my_dict.get('age')
city = my_dict.get('city', 'Unknown')
print(age)
print(city)
运行以上代码,输出为:
36
Unknown
update()方法
update()方法用于更新字典,可以接受一个字典或键值对的元组列表作为参数,将其合并到原字典中。
示例代码如下:
# 使用update()方法
my_dict = {'name': 'James', 'age': 40, 'gender': 'male'}
my_dict.update({'age': 45, 'city': 'New York'})
print(my_dict)
运行以上代码,输出为:
{'name': 'James', 'age': 45, 'gender': 'male', 'city': 'New York'}
总结
字典是Python中常用的数据结构之一,通过键值对的形式,我们可以方便地存储和操作数据。在实际应用中,字典可以用来表示各种数据,如学生信息、员工工资、商品价格等等。掌握字典的基本操作和常用方法,对于编写Python程序是非常重要的。
极客教程