专业编程基础技术教程

网站首页 > 基础教程 正文

python 基础 之 字典(python里面字典的用法)

ccvgpt 2024-07-18 12:52:10 基础教程 5 ℃

在Python中,字典(dictionary)是一个内置的数据结构,它存储键值对(key-value pairs)。字典中的元素是无序的,但每个键都是唯一的。字典是可变的,这意味着你可以在创建后添加、删除或更改键值对。

3.1 创建字典

字典使用大括号 {} 创建,键值对用冒号 : 分隔,键值对之间用逗号 , 分隔。

python 基础 之 字典(python里面字典的用法)

# 创建空字典
my_dict = {}

# 创建带有初始键值对的字典
another_dict = {"name": "Alice", "age": 25, "city": "Wonderland"}

3.2 访问字典元素

通过键来访问字典中的值。

# 访问键 "name" 对应的值
name = another_dict["name"]

# 使用 get 方法访问,如果键不存在,可以返回默认值
age = another_dict.get("age", 0)  # 返回 25
height = another_dict.get("height", "Unknown")  # 返回 "Unknown"

3.3 添加和修改字典元素

可以使用索引赋值或 update() 方法来添加或修改字典元素。

# 直接通过索引赋值添加或修改元素
another_dict["height"] = 170

# 使用 update 方法添加或修改多个键值对
another_dict.update({"email": "alice@example.com", "country": "Wonderland"})

3.4 删除字典元素

使用 del 语句或 pop() 方法来删除字典中的元素。

# 使用 del 语句删除键 "city"
del another_dict["city"]

# 使用 pop 方法删除键 "age" 并返回它的值
age = another_dict.pop("age", None)  # 返回 None,因为 "age" 已经被删除

3.5 遍历字典

可以使用循环来遍历字典中的键、值或键值对。

# 遍历键
for key in another_dict:
    print(key)

# 遍历值
for value in another_dict.values():
    print(value)

# 遍历键值对
for key, value in another_dict.items():
    print(key, value)

注意事项 字典的键必须是不可变类型,如字符串、数字或元组。 字典是无序的,尽管键值对的顺序在Python 3.7及更高版本中得到了保持。 字典是可变的,可以更改、添加或删除键值对。 使用 get() 方法来避免在键不存在时抛出 KeyError。 字典的遍历顺序在Python 3.7及更高版本中是按照插入顺序的。

示例

# 使用字典
person = {"name": "Alice", "age": 25}

# 添加新键值对
person["email"] = "alice@example.com"

# 删除键 "age"
del person["age"]

# 遍历字典
for key, value in person.items():
    print(f"{key}: {value}")

字典的特点

字典(dictionary)是Python中的一种内置数据结构,具有以下特点:

  • 键值对存储:字典以键值对的形式存储数据,其中每个键(key)对应一个值(value)。键必须是不可变类型,如字符串、数字或元组,而值可以是任何数据类型。
  • 可变性:字典是可变的,这意味着你可以在创建后添加、删除或更改键值对。
  • 无序性:Python 3.6之前的版本中,字典是无序的,即键值对的顺序可能会在字典的多个迭代中变化。从Python 3.7开始,字典保持插入顺序,即键值对按照它们被添加到字典中的顺序进行存储和访问。
  • 快速查找:字典提供了非常快速的查找速度,因为它们使用哈希表实现。这意味着通过键访问值的时间复杂度接近O(1)。
  • 唯一的键:字典中的键必须是唯一的。如果你尝试添加一个已经存在的键,其对应的值将被更新为新的值。
  • 动态大小:字典的大小是动态的,它可以根据需要自动增长或缩小。
  • 支持多种数据类型:字典的键可以是任何不可变类型,而值可以是任何Python对象,包括另一个字典。
  • 使用大括号:字典使用大括号 {} 来定义,键值对之间用冒号 : 分隔,不同的键值对用逗号 , 分隔。
  • 键的不可变性:由于字典的键必须是不可变的,这使得字典的键可以作为其他集合的元素,例如集合(set)或另一个字典的键。
  • 丰富的内置方法:字典提供了多种内置方法,如 clear(), copy(), get(), items(), keys(), pop(), popitem(), setdefault(), update() 等,这些方法使得操作字典变得非常方便。
  • 可用作函数的默认参数:字典可以作为函数的默认参数值,这使得你可以在函数中提供一个参数的默认值,而不影响函数的其他使用方式。

Tags:

最近发表
标签列表