Python 字典 (Dictionary)
字典是 Python 中一种非常灵活和强大的内置数据类型。它以键值对 (key-value pairs) 的形式存储数据,提供了一种高效的方式来查找、添加和删除条目。
字典的特性
- 键值对: 每个元素都由一个唯一的“键”和一个对应的“值”组成。
- 无序性 (历史): 在 Python 3.7 之前的版本中,字典是无序的。从 Python 3.7 开始,字典会保持元素的插入顺序。
- 可变性: 字典是可变的,你可以随时添加、修改或删除键值对。
- 唯一的键: 字典中的键必须是唯一的,且必须是不可变类型(如字符串、数字或元组)。值则可以是任意类型,也可以重复。
创建字典
字典由大括号 {} 定义,其中包含一系列的 key: value 对。
python
# 创建一个空字典
empty_dict = {}
# 创建一个字典
person = {
"name": "John Doe",
"age": 30,
"city": "New York",
"is_student": False
}
# 也可以使用 dict() 构造函数
car = dict(brand="Ford", model="Mustang", year=1964)
print(person)
print(car)访问字典元素
你可以通过键来访问其对应的值。
使用方括号 []
python
person = {"name": "John Doe", "age": 30}
print(person["name"]) # 输出: John Doe
# 如果键不存在,会引发 KeyError
# print(person["country"]) # KeyError: 'country'使用 .get() 方法
.get() 方法更安全,如果键不存在,它会返回 None(或你指定的默认值),而不是引发错误。
python
person = {"name": "John Doe", "age": 30}
print(person.get("age")) # 输出: 30
print(person.get("country")) # 输出: None
print(person.get("country", "USA")) # 输出: USA (提供了默认值)修改和添加元素
你可以通过键来添加新的键值对或修改已有的值。
python
person = {"name": "John Doe", "age": 30}
# 修改已有的值
person["age"] = 31
print(person) # 输出: {'name': 'John Doe', 'age': 31}
# 添加新的键值对
person["city"] = "Boston"
print(person) # 输出: {'name': 'John Doe', 'age': 31, 'city': 'Boston'}删除元素
del dict[key]: 删除指定的键值对。dict.pop(key): 删除并返回指定键的值。dict.popitem(): 删除并返回最后一个插入的键值对(在 Python 3.7+)。dict.clear(): 清空字典。
遍历字典
有几种方式可以遍历字典中的所有元素。
python
person = {"name": "John Doe", "age": 30, "city": "New York"}
# 遍历所有的键
for key in person.keys():
print(key)
# 遍历所有的值
for value in person.values():
print(value)
# 遍历所有的键值对 (最常用)
for key, value in person.items():
print(f"{key}: {value}").keys(), .values(), 和 .items() 返回的是特殊的“视图对象”,它们提供了字典条目的动态视图,意味着如果字典发生变化,视图也会相应地反映这些变化。