python 字典 详解
1、创建字典
可以使用大括号 {} 或者 dict() 函数来创建字典。
# 使用大括号创建字典
my_dict = {"name": "Alice","age": 25,"city": "New York"
}# 使用 dict() 函数创建字典
my_dict = dict(name="Alice", age=25, city="New York")
2、访问字典中的值
可以通过键来访问字典中的值。
print(my_dict["name"]) # 输出: Alice
print(my_dict.get("age")) # 输出: 25
3、修改字典
可以通过键来修改字典中的值。
my_dict["age"] = 26
print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York'}
4、添加键值对
可以直接添加新的键值对。
my_dict["email"] = "alice@example.com"
print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York', 'email': 'alice@example.com'}
5、删除键值对
可以使用 del 语句或 pop() 方法来删除键值对。
del my_dict["city"]
print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'email': 'alice@example.com'}email = my_dict.pop("email")
print(email) # 输出: alice@example.com
print(my_dict) # 输出: {'name': 'Alice', 'age': 26}
6、字典方法
Python 字典提供了许多有用的方法:
- keys(): 返回字典中所有的键。
- values(): 返回字典中所有的值。
- items(): 返回字典中所有的键值对。
- update(): 更新字典中的键值对。
- clear(): 清空字典。
print(my_dict.keys()) # 输出: dict_keys(['name', 'age'])
print(my_dict.values()) # 输出: dict_values(['Alice', 26])
print(my_dict.items()) # 输出: dict_items([('name', 'Alice'), ('age', 26)])# 更新字典
my_dict.update({"city": "Los Angeles", "email": "alice@example.com"})
print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'city': 'Los Angeles', 'email': 'alice@example.com'}# 清空字典
my_dict.clear()
print(my_dict) # 输出: {}
7、字典的遍历
可以使用 for 循环来遍历字典的键、值或键值对。
my_dict = {"name": "Alice", "age": 25, "city": "New York"}# 遍历键
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}")
8、字典的嵌套
字典可以嵌套,即字典中的值也可以是另一个字典。
nested_dict = {"person1": {"name": "Alice", "age": 25},"person2": {"name": "Bob", "age": 30}
}print(nested_dict["person1"]["name"]) # 输出: Alice
9、字典的特点
- 无序性:在 Python 3.7 之前,字典是无序的。从 Python 3.7 开始,字典保持插入顺序。
- 可变性:字典是可变的,可以动态地添加、修改和删除键值对。
- 键的唯一性:字典中的键必须是唯一的,如果插入了重复的键,后面的值会覆盖前面的值。
- 键的类型:字典的键必须是不可变类型,如字符串、数字或元组。
通过以上介绍,相信你对 Python 字典有了一个全面的了解。字典是非常强大和灵活的数据结构,广泛应用于各种编程场景中。