字典(Dictionary)是 Python 中一种非常重要且强大的内置数据类型,用于存储键值对(key-value pairs)。字典的键必须是不可变的(例如,字符串、数字或元组),而值可以是任何类型。字典是无序的,从 Python 3.7 开始,字典保持插入顺序。
创建字典
可以使用大括号 {} 或 dict() 函数来创建字典:
# 使用大括号
dict1 = {"name": "Alice", "age": 25, "city": "New York"}
print(dict1) # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York'}
# 使用 dict() 函数
dict2 = dict(name="Bob", age=30, city="Los Angeles")
print(dict2) # 输出: {'name': 'Bob', 'age': 30, 'city': 'Los Angeles'}
访问字典元素
可以通过键来访问字典中的值:
dict1 = {"name": "Alice", "age": 25, "city": "New York"}
print(dict1["name"]) # 输出: Alice
print(dict1["age"]) # 输出: 25
修改字典
可以通过键来修改字典中的值或添加新的键值对:
dict1 = {"name": "Alice", "age": 25, "city": "New York"}
dict1["age"] = 26 # 修改值
dict1["email"] = "alice@example.com" # 添加新键值对
print(dict1) # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York', 'email': 'alice@example.com'}
删除字典元素
可以使用 del 语句或 pop() 方法删除字典中的元素:
dict1 = {"name": "Alice", "age": 25, "city": "New York"}
# 使用 del 语句
del dict1["age"]
print(dict1) # 输出: {'name': 'Alice', 'city': 'New York'}
# 使用 pop() 方法
city = dict1.pop("city")
print(city) # 输出: New York
print(dict1) # 输出: {'name': 'Alice'}
字典的方法
字典提供了许多内置方法来操作数据:
keys(), values(), items()
keys()返回所有键的视图。values()返回所有值的视图。items()返回所有键值对的视图。
dict1 = {"name": "Alice", "age": 25, "city": "New York"}
print(dict1.keys()) # 输出: dict_keys(['name', 'age', 'city'])
print(dict1.values()) # 输出: dict_values(['Alice', 25, 'New York'])
print(dict1.items()) # 输出: dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])
get()
get() 方法返回指定键的值,如果键不存在则返回默认值(默认是 None):
dict1 = {"name": "Alice", "age": 25, "city": "New York"}
print(dict1.get("name")) # 输出: Alice
print(dict1.get("email")) # 输出: None
print(dict1.get("email", "Not Found")) # 输出: Not Found
update()
update() 方法用于更新字典,使用另一个字典或可迭代对象中的键值对。
dict1 = {"name": "Alice", "age": 25}
dict2 = {"age": 26, "city": "New York"}
dict1.update(dict2)
print(dict1) # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York'}
setdefault()
setdefault() 方法与 get() 类似,但如果键不存在于字典中,会将键添加到字典中并设置为默认值。
dict1 = {"name": "Alice", "age": 25}
email = dict1.setdefault("email", "alice@example.com")
print(email) # 输出: alice@example.com
print(dict1) # 输出: {'name': 'Alice', 'age': 25, 'email': 'alice@example.com'}
遍历字典
可以使用 for 循环遍历字典的键、值或键值对:
dict1 = {"name": "Alice", "age": 25, "city": "New York"}
# 遍历键
for key in dict1:
print(key, dict1[key])
# 遍历键值对
for key, value in dict1.items():
print(key, value)
字典的嵌套
字典可以包含另一个字典作为值,形成嵌套字典:
nested_dict = {
"person1": {"name": "Alice", "age": 25},
"person2": {"name": "Bob", "age": 30}
}
print(nested_dict["person1"]["name"]) # 输出: Alice
小结
字典在 Python 中是一种非常灵活且强大的数据结构,适用于需要快速查找、插入和删除操作的场景。通过掌握字典的创建、访问、修改、删除和遍历方法,可以高效地处理各种键值对数据。
8万+

被折叠的 条评论
为什么被折叠?



