1. 什么是字典
在 Python 中,字典(Dictionary)是一种无序、可变、且可以储存任意数量元素的容器类型。每个元素包含一个键(key)和一个值(value)。键必须是唯一的,值可以是任意类型的对象。
字典是一种非常有用的数据结构,通常用于存储键-值对应的数据,例如数据库中的表格,配置文件等等。
# 创建一个空字典
my_dict = {}
# 创建带有键-值对的字典
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
# 访问字典中的元素
print(my_dict['name']) # 输出: Alice
# 修改字典中的元素
my_dict['age'] = 26
# 添加新元素
my_dict['address'] = 'Beijing'
2. 字典的常用方法
2.1 get()
get() 方法返回指定键的值,如果值不存在,则返回 None 或指定的默认值。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
print(my_dict.get('name')) # 输出: Alice
print(my_dict.get('address')) # 输出: None
print(my_dict.get('address', 'Not Found')) # 输出: Not Found
当我们在获取字典中不存在的键的值时,使用 get() 方法可以避免程序抛出 KeyError 异常。
2.2 keys() 和 values()
keys() 返回一个由所有键组成的列表。
values() 返回一个由所有值组成的列表。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
print(my_dict.keys()) # 输出: dict_keys(['name', 'age', 'gender'])
print(my_dict.values()) # 输出: dict_values(['Alice', 25, 'female'])
2.3 items()
items() 返回一个由 (键, 值) 组成的元组列表。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
print(my_dict.items()) # 输出: dict_items([('name', 'Alice'), ('age', 25), ('gender', 'female')])
2.4 pop()
pop() 方法从字典中删除指定键的元素,并返回其对应的值。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
value = my_dict.pop('age')
print(my_dict) # 输出: {'name': 'Alice', 'gender': 'female'}
print(value) # 输出: 25
2.5 update()
update() 方法用于将一个字典的键-值对更新到另一个字典中。
my_dict = {'name': 'Alice', 'age': 25}
other_dict = {'gender': 'female', 'address': 'Beijing'}
my_dict.update(other_dict)
print(my_dict) # 输出: {'name': 'Alice', 'age': 25, 'gender': 'female', 'address': 'Beijing'}
3. 字典的遍历
我们可以使用 for 循环遍历字典中的键-值对。
my_dict = {'name': 'Alice', 'age': 25, 'gender': 'female'}
for key, value in my_dict.items():
print(key, value)
通常情况下,当我们遍历字典时,需要执行一些特定的操作,例如统计出现次数、计算总和等等。
现在我们来写一个简单的例子,统计某个列表中各个元素出现的次数,使用字典来存储统计结果。
fruits = ['apple', 'orange', 'banana', 'apple', 'pear', 'orange', 'apple', 'banana']
fruits_count = {}
for fruit in fruits:
fruits_count[fruit] = fruits_count.get(fruit, 0) + 1
print(fruits_count) # 输出: {'apple': 3, 'orange': 2, 'banana': 2, 'pear': 1}
4. 字典的应用
字典是一种非常灵活的数据结构,通常可以用来存储复杂的数据类型,例如一个用户的信息,一个电话簿等等。
现在我们来看一个实际的应用场景,实现一个电话簿程序。用户输入姓名和电话号码,程序将其添加到电话簿中,并支持查询姓名和修改电话号码等功能。
4.1 添加联系人
phone_book = {}
while True:
name = input('请输入姓名:')
if name == 'quit':
break
phone = input('请输入电话号码:')
phone_book[name] = phone
print(phone_book)
4.2 查询联系人
name = input('请输入要查询的姓名:')
print('电话号码:', phone_book.get(name, '该联系人不存在!'))
4.3 修改联系人电话
name = input('请输入要修改的联系人姓名:')
phone = input('请输入新的电话号码:')
if name in phone_book:
phone_book[name] = phone
print('修改成功!')
else:
print('该联系人不存在!')
通过以上操作,我们成功实现了一个简单的电话簿程序。
5. 总结
本文介绍了 Python 中的字典,包括字典的定义、常用方法、遍历和实际应用场景等方面的内容。
字典是一种非常灵活的数据结构,可以用来存储复杂的数据类型,例如一个用户的信息,一个电话簿等等。
希望对大家理解字典的基本概念和用法有所帮助。