1. 创建字典
在Python中,字典是一种非常常用的数据结构,它由键和值组成,每个键和它的值之间用冒号分隔,每对键值之间用逗号分隔,并放在花括号{}中。创建空字典可以使用空花括号{},也可以使用dict()函数。如果想要创建有值的字典,则需要在花括号中指定键值,具体操作代码如下:
# 创建空字典
empty_dict = {}
print(empty_dict)
# 使用dict()函数创建空字典
empty_dict = dict()
print(empty_dict)
# 创建有值的字典
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
print(my_dict)
以上代码的输出结果分别为:
{}
{}
{'name': 'Alice', 'age': 20, 'gender': 'female'}
2. 访问字典中的值
访问字典中的值,可以通过键来获取相应的值。如果访问不存在的键,则会抛出KeyError异常。例如,访问上一节中创建的my_dict字典中的'name'键对应的值,代码如下:
print(my_dict['name'])
以上代码的输出结果为:
Alice
2.1 get方法获取值
此外,还可以使用get()方法来获取字典中的值。get()方法的优势在于,如果访问的键不存在,它会返回一个默认值None,而不是抛出KeyError异常。get()方法还可以接收一个可选参数,用于指定键不存在时返回的默认值。例如,如果想获取my_dict字典中'name'对应的值,代码如下:
print(my_dict.get('name'))
以上代码的输出结果同样为:
Alice
如果访问一个不存在的键,可以指定一个默认值。例如:
print(my_dict.get('address', 'unknown'))
以上代码的输出结果为:
unknown
2.2 keys和values方法
除了通过键访问字典中的值之外,还可以使用keys()和values()方法分别获取字典中所有的键和值,将它们分别转化为一个列表,代码如下:
print(my_dict.keys())
print(my_dict.values())
以上代码的输出结果分别为:
dict_keys(['name', 'age', 'gender'])
dict_values(['Alice', 20, 'female'])
3. 添加和修改字典中的值
要添加或修改字典中的值,可以直接通过键来给字典赋值。如果键不存在,则会添加一个新的键值对;如果键已存在,则会修改该键对应的值。具体操作代码如下:
# 添加新的键值对
my_dict['address'] = 'Beijing'
print(my_dict)
# 修改键对应的值
my_dict['age'] = 21
print(my_dict)
以上代码的输出结果分别为:
{'name': 'Alice', 'age': 20, 'gender': 'female', 'address': 'Beijing'}
{'name': 'alice', 'age': 21, 'gender': 'female', 'address': 'Beijing'}
4. 删除字典中的值
删除字典中的值,可以使用del关键字。具体操作代码如下:
# 删除指定键值对
del my_dict['address']
print(my_dict)
# 清空字典
my_dict.clear()
print(my_dict)
以上代码的输出结果分别为:
{'name': 'Alice', 'age': 20, 'gender': 'female'}
{}
5. 字典的遍历
遍历字典中的键值对,可以使用items()方法。items()方法返回一个由所有键值对组成的元组列表。遍历时,可以使用for循环对每个键值对进行操作。具体操作代码如下:
my_dict = {'name': 'Alice', 'age': 20, 'gender': 'female'}
for key, value in my_dict.items():
print(key, '=', value)
以上代码的输出结果为:
name = Alice
age = 20
gender = female
6. 字典的复制
复制一个字典,可以使用copy()方法。copy()方法返回一个字典的副本,与原字典完全独立,并且对复制后的字典的操作不会影响原字典。具体操作代码如下:
# 复制字典
my_dict1 = {'name': 'Alice', 'age': 20, 'gender': 'female'}
my_dict2 = my_dict1.copy()
# 修改副本字典的值
my_dict2['name'] = 'Bob'
# 原字典的值不会受到影响
print(my_dict1)
print(my_dict2)
以上代码的输出结果分别为:
{'name': 'Alice', 'age': 20, 'gender': 'female'}
{'name': 'Bob', 'age': 20, 'gender': 'female'}
7. 字典推导式
字典推导式是Python中比较高级的特性之一。它允许使用简单的表达式来创建新的字典,而不需要编写传统的for循环来逐个添加键值对。具体操作代码如下:
# 创建一个包含平方值的字典
squares = {key: key**2 for key in range(1, 11)}
print(squares)
# 创建一个只包含偶数键的字典
even_dict = {num: num**2 for num in squares if num % 2 == 0}
print(even_dict)
以上代码的输出结果分别为:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}
{2: 4, 4: 16, 6: 36, 8: 64, 10: 100}
总结
在本文中,我们介绍了Python中字典的常用方法。包括创建字典、访问字典中的值、添加和修改字典中的值、删除字典中的值、字典的遍历、字典的复制和字典推导式。字典是一种非常强大且常用的数据类型,在日常的编程中,我们需要熟练掌握这些操作方法,才能更高效地完成相关任务。