python字典

来源:undefined 2025-05-28 16:31:41 1002

Python 字典(dictionary)是一种内置的数据结构,通过键值对(key-value pair)来存储数据。字典本质上是一种映射类型,将*的键与值关联起来。与列表、元组不同,字典是无序的,也就是说,它并不保留元素添加的顺序,直到Python 3.7开始,Python才保证了字典插入的顺序。字典使用大括号 {} 来表示,其中包含一系列的键值对,键和值之间用冒号 : 分隔,多个键值对之间用逗号 , 分隔。

创建字典

要创建字典,可以使用大括号 {} 或 dict() 函数。例如:

# 使用大括号创建 my_dict = {name: Alice, age: 25, location: Wonderland} print(my_dict) # 使用dict()创建 another_dict = dict(name=Bob, age=30, location=Nowhere) print(another_dict)

字典的键

字典中的键必须是不可变的,因此可以使用字符串、数字或元组作为键,但不能使用列表或字典等可变数据类型。此外,每个键在字典中是*的,不能有重复的键。

# 有效的键 valid_dict = { string_key: 1, 42: integer key, (1, 2): tuple key } # 无效的键示例(会报错) # invalid_dict = { # [list_key]: value # 会引发TypeError # }

字典的值

字典的值可以是任何数据类型,包括列表、字符串、数字、甚至是另一个字典。值没有*性要求:

value_dict = { name: Alice, favorites: [Tea, Books], address: {city: Wonderland, zipcode: 12345} }

访问字典值

通过键来访问字典的值,如果键不存在,会引发 KeyError 错误。为了避免这种情况,可以使用 get() 方法,它允许设置一个默认返回值,当键不存在时返回这个默认值,而不报错。

# 访问字典值 name = my_dict[name] print(f"Name: {name}") # 使用get()方法 age = my_dict.get(age) print(f"Age: {age}") # 不存在的键,使用get()提供默认值 nickname = my_dict.get(nickname, No nickname found) print(f"Nickname: {nickname}")

修改值和添加条目

在字典中,可以通过键直接修改对应的值,或添加新的键值对。

# 修改字典的值 my_dict[age] = 26 print(my_dict) # 添加新的键值对 my_dict[nickname] = Alicia print(my_dict)

删除键值对

使用 del 语句或 pop() 方法可以删除字典中的键值对。del 语句直接删除,而 pop() 方法则会返回被删除的值。

# 使用del删除 del my_dict[nickname] print(my_dict) # 使用pop() age = my_dict.pop(age) print(f"Popped age: {age}") print(my_dict)

字典的常用操作

字典支持多种操作,还提供了丰富的方法来操作字典。

keys():返回字典的所有键。 values():返回字典的所有值。 items():返回字典的键值对(键和值形成元组)。 print("Keys:", my_dict.keys()) print("Values:", my_dict.values()) print("Items:", my_dict.items())

字典的循环

字典可以通过迭代器对它的键、值或键值对进行循环。

# 迭代字典的键 for key in my_dict: print(key, ":", my_dict[key]) # 迭代键值对 for key, value in my_dict.items(): print(key, ":", value)

字典与性能

由于 Python 字典是基于哈希表实现的,因此它们拥有非常快的查找速度,可以在平均 O(1) 的时间复杂度内完成查找。这种高效的查找性能是字典在 Python 中被广泛使用的原因之一。

字典合并

从 Python 3.5 开始,可以使用 update() 方法合并两个字典。Python 3.9 引入了新的合并和更新运算符 | 和 |=:

# 使用update() dict1 = {a: 1, b: 2} dict2 = {b: 3, c: 4} dict1.update(dict2) print(Updated dict1:, dict1) # 使用|运算符 dict3 = {x: 10, y: 20} dict4 = {y: 30, z: 40} merged_dict = dict3 | dict4 print(Merged dict using |:, merged_dict)

总结

Python 字典是非常强大和灵活的数据结构,适合于需要快速访问、插入和删除操作的数据情境。了解如何有效地使用字典,可以显著提升程序的性能和可读性。在处理复杂数据时,字典经常与其他数据结构(如列表和集合)组合使用,从而实现更灵活的解决方案。

上一篇:java在线运行 下一篇:ntoskrnl.exe 蓝屏

最新文章