Python 字典定义

介绍
Python 中的字典(dictionary)是一种无序、可变的容器模型,用于存储键-值对。字典中的键必须是唯一的,而值可以是任意数据类型。字典是 Python 中非常常用的数据结构之一,可以用于处理各种实际问题。本文将详细介绍 Python 字典的定义和使用。
字典的定义
字典可以使用大括号 {} 或者函数 dict() 来定义。以下是使用大括号定义字典的示例:
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
print(my_dict)
输出结果为:{'name': 'John', 'age': 25, 'city': 'New York'}
在上述示例中,我们定义了一个字典 my_dict,其中包含了三个键-值对。键 'name' 的值是 'John',键 'age' 的值是 25,键 'city' 的值是 'New York'。使用 , 分隔不同的键-值对。
也可以使用函数 dict() 来定义字典:
my_dict = dict(name='John', age=25, city='New York')
print(my_dict)
输出结果同样为:{'name': 'John', 'age': 25, 'city': 'New York'}
这种方式使用的是关键字参数,可以更加灵活地定义字典。
字典中的键必须是唯一的,如果多次使用同一个键,则后面的值会覆盖前面的值。例如:
my_dict = {'name': 'John', 'age': 25, 'name': 'Mike'}
print(my_dict)
输出结果为:{'name': 'Mike', 'age': 25}
在上述示例中,键 'name' 被使用两次,但是后面的值 'Mike' 覆盖了前面的值 'John'。
字典的基本操作
访问字典中的值
可以使用键来访问字典中对应的值。例如:
my_dict = {'name': 'John', 'age': 25}
print(my_dict['name']) # 输出:John
print(my_dict['age']) # 输出:25
如果使用不存在的键来访问字典中的值,会抛出 KeyError 异常。为了避免异常,可以使用 get() 方法来访问值,如果键不存在,则返回指定的默认值。例如:
my_dict = {'name': 'John', 'age': 25}
print(my_dict.get('name')) # 输出:John
print(my_dict.get('city')) # 输出:None
print(my_dict.get('city', '')) # 输出:'',使用自定义的默认值
修改字典中的值
可以通过赋值语句来修改字典中的值。例如:
my_dict = {'name': 'John', 'age': 25}
my_dict['age'] = 30
print(my_dict) # 输出:{'name': 'John', 'age': 30}
在上述示例中,我们将键 'age' 对应的值从 25 修改为 30。
添加新的键-值对
可以使用赋值语句添加新的键-值对。例如:
my_dict = {'name': 'John', 'age': 25}
my_dict['city'] = 'New York'
print(my_dict) # 输出:{'name': 'John', 'age': 25, 'city': 'New York'}
在上述示例中,我们添加了一个新的键 'city',其对应的值是 'New York'。
删除键-值对
可以使用 del 关键字删除字典中的键-值对。例如:
my_dict = {'name': 'John', 'age': 25}
del my_dict['age']
print(my_dict) # 输出:{'name': 'John'}
在上述示例中,我们删除了键 'age' 对应的键-值对。
可以使用 pop() 方法来删除指定键,并返回被删除的值。如果键不存在,则返回指定的默认值。例如:
my_dict = {'name': 'John', 'age': 25}
age = my_dict.pop('age')
print(age) # 输出:25
print(my_dict) # 输出:{'name': 'John'}
在上述示例中,我们删除了键 'age' 对应的键-值对,并将其值保存到变量 age 中。
遍历字典
可以使用 for 循环遍历字典的键、值或者键-值对。例如,遍历字典的键:
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
for key in my_dict:
print(key)
输出结果为:
name
age
city
要遍历字典的值,可以使用 values() 方法。例如:
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
for value in my_dict.values():
print(value)
输出结果为:
John
25
New York
要同时遍历字典的键和值,可以使用 items() 方法。例如:
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
for key, value in my_dict.items():
print(key, value)
输出结果为:
name John
age 25
city New York
字典的常用方法
keys() 方法
keys() 方法返回一个包含字典所有键的视图。
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
keys = my_dict.keys()
print(keys) # 输出:dict_keys(['name', 'age', 'city'])
在上述示例中,keys() 方法返回一个 dict_keys 对象,包含了字典的所有键。可以将其转换为列表,或者直接在循环中进行遍历。
values() 方法
values() 方法返回一个包含字典所有值的视图。
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
values = my_dict.values()
print(values) # 输出:dict_values(['John', 25, 'New York'])
在上述示例中,values() 方法返回一个 dict_values 对象,包含了字典的所有值。可以将其转换为列表,或者直接在循环中进行遍历。
items() 方法
items() 方法返回一个包含字典所有键-值对的视图。
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
items = my_dict.items()
print(items) # 输出:dict_items([('name', 'John'), ('age', 25), ('city', 'New York')])
在上述示例中,items() 方法返回一个 dict_items 对象,包含了字典的所有键-值对。可以将其转换为列表,或者直接在循环中进行遍历。
clear() 方法
clear() 方法用于清空字典中的所有键-值对。
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
my_dict.clear()
print(my_dict) # 输出:{}
在上述示例中,clear() 方法清空了字典 my_dict 中的所有键-值对。
copy() 方法
copy() 方法用于创建一个字典的副本。
my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}
new_dict = my_dict.copy()
print(new_dict) # 输出:{'name': 'John', 'age': 25, 'city': 'New York'}
在上述示例中,我们通过 copy() 方法创建了字典 new_dict,它是字典 my_dict 的一个副本。
update() 方法
update() 方法用于将一个字典的键-值对更新到另一个字典中。
my_dict = {'name': 'John', 'age': 25}
extra_dict = {'city': 'New York', 'country': 'USA'}
my_dict.update(extra_dict)
print(my_dict) # 输出:{'name': 'John', 'age': 25, 'city': 'New York', 'country': 'USA'}
在上述示例中,我们使用 update() 方法将字典 extra_dict 的键-值对更新到字典 my_dict 中。
总结
本文介绍了 Python 字典的定义和基本操作,包括访问、修改、添加、删除键-值对以及遍历字典。还介绍了字典常用的方法,如 keys()、values()、items()、clear()、copy() 和 update()。字典是一个非常有用的数据结构,能够高效地存储和访问键-值对。掌握字典的使用方法对于解决各种实际问题非常重要。
极客教程