Python中的字典(dictionary)是一种可变容器模型,且可存储任意类型对象。字典的每个元素都是一个键值对(key-value pair),其中键必须是唯一的。以下是关于Python字典的详细介绍。
Python 字典(Dictionary)
字典基础
创建字典
字典可以通过花括号{}
创建,元素以键值对的形式存储,键值对之间用逗号,
分隔。
# 直接定义
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
# 使用dict()函数
my_dict_2 = dict(name='John', age=30, city='New York')
访问字典元素
可以通过键来访问字典中的值。
print(my_dict['name']) # 输出: John
如果键不存在,会抛出KeyError
。
设置字典元素
可以为字典的键赋值,如果键不存在,会创建新的键值对。
my_dict['age'] = 31
my_dict['gender'] = 'male'
删除字典元素
可以使用del
语句或字典的pop()
方法来删除字典中的键值对。
del my_dict['city']
value = my_dict.pop('name')
字典的方法
Python字典提供了许多内置方法来操作字典。
获取所有键
keys = my_dict.keys()
获取所有值
values = my_dict.values()
获取所有键值对
items = my_dict.items()
检查键是否存在
if 'age' in my_dict:
print("Age key exists.")
获取字典长度
length = len(my_dict)
更新字典
字典可以使用update()
方法来更新。
my_dict.update({'age': 32, 'city': 'Los Angeles'})
字典推导式
字典推导式是创建字典的一种简洁方式。
# 创建一个字典,其中包含数字的平方
squares = {x: x**2 for x in range(6)}
遍历字典
可以遍历字典的键、值或键值对。
for key in my_dict:
print(key)
for value in my_dict.values():
print(value)
for key, value in my_dict.items():
print(f"{key}: {value}")
默认字典
collections
模块提供了一个defaultdict
类,它提供了一个默认值的字典。
from collections import defaultdict
dd = defaultdict(lambda: 'Not Found')
dd['key1'] = 'value1'
print(dd['key1']) # 输出: value1
print(dd['key2']) # 输出: Not Found
有序字典
从Python 3.7开始,标准的字典是有序的,这意味着它们会按照插入的顺序保存键值对。
结论
字典是Python中非常强大的数据结构,它允许你以键值对的形式存储和检索数据。掌握字典的使用对于编写高效和灵活的代码至关重要。