当前位置: 首页 > news >正文

【Python-Day 14】玩转Python字典(上篇):从零开始学习创建、访问与操作

Langchain系列文章目录

01-玩转LangChain:从模型调用到Prompt模板与输出解析的完整指南
02-玩转 LangChain Memory 模块:四种记忆类型详解及应用场景全覆盖
03-全面掌握 LangChain:从核心链条构建到动态任务分配的实战指南
04-玩转 LangChain:从文档加载到高效问答系统构建的全程实战
05-玩转 LangChain:深度评估问答系统的三种高效方法(示例生成、手动评估与LLM辅助评估)
06-从 0 到 1 掌握 LangChain Agents:自定义工具 + LLM 打造智能工作流!
07-【深度解析】从GPT-1到GPT-4:ChatGPT背后的核心原理全揭秘
08-【万字长文】MCP深度解析:打通AI与世界的“USB-C”,模型上下文协议原理、实践与未来

Python系列文章目录

PyTorch系列文章目录

机器学习系列文章目录

深度学习系列文章目录

Java系列文章目录

JavaScript系列文章目录

Python系列文章目录

01-【Python-Day 1】告别编程恐惧:轻松掌握 Python 安装与第一个程序的 6 个步骤
02-【Python-Day 2】掌握Python基石:变量、内存、标识符及int/float/bool数据类型
03-【Python-Day 3】玩转文本:字符串(String)基础操作详解 (上)
04-【Python-Day 4】玩转文本:Python 字符串常用方法深度解析 (下篇)
05-【Python-Day 5】Python 格式化输出实战:%、format()、f-string 对比与最佳实践
06- 【Python-Day 6】从零精通 Python 运算符(上):算术、赋值与比较运算全解析
07-【Python-Day 7】从零精通 Python 运算符(下):逻辑、成员、身份运算与优先级规则全解析
08-【Python-Day 8】从入门到精通:Python 条件判断 if-elif-else 语句全解析
09-【Python-Day 9】掌握循环利器:for 循环遍历序列与可迭代对象详解
10-【Python-Day 10】Python 循环控制流:while 循环详解与 for 循环对比
11-【Python-Day 11】列表入门:Python 中最灵活的数据容器 (创建、索引、切片)
12-【Python-Day 12】Python列表进阶:玩转添加、删除、排序与列表推导式
13-【Python-Day 13】Python 元组 (Tuple) 详解:从创建、操作到高级应用场景一网打尽
14-【Python-Day 14】玩转Python字典(上篇):从零开始学习创建、访问与操作


文章目录

  • Langchain系列文章目录
  • Python系列文章目录
  • PyTorch系列文章目录
  • 机器学习系列文章目录
  • 深度学习系列文章目录
  • Java系列文章目录
  • JavaScript系列文章目录
  • Python系列文章目录
  • 前言
  • 一、什么是字典?
    • 1.1 字典的定义与特性
      • 1.1.1 核心概念:键值对 (Key-Value Pair)
      • 1.1.2 字典的主要特性
        • (1)可变性 (Mutable)
        • (2)顺序性 (Order)
        • (3)通过键访问 (Accessed by Key)
    • 1.2 为什么需要字典?
  • 二、创建字典
    • 2.1 使用花括号 `{}` 创建
      • 2.1.1 创建空字典
      • 2.1.2 创建带有初始值的字典
    • 2.2 使用 `dict()` 构造函数创建
      • 2.2.1 通过关键字参数创建
      • 2.2.2 通过可迭代的键值对序列创建
      • 2.2.3 通过映射关系创建 (字典推导式的前身)
      • 2.2.4 创建空字典
  • 三、键 (Key) 的要求
    • 3.1 唯一性 (Unique)
    • 3.2 不可变性 (Immutable) 和可哈希性 (Hashable)
      • 3.2.1 什么是可哈希性 (Hashable)?
      • 3.2.2 合法的键示例
      • 3.2.3 非法的键示例
  • 四、访问字典中的值
    • 4.1 通过键直接访问 (`dict[key]`)
      • 4.1.1 访问不存在的键 (KeyError)
    • 4.2 使用 `get()` 方法访问
      • 4.2.1 `get(key)` 的基本用法
      • 4.2.2 `get(key, default_value)` 提供默认值
      • 4.2.3 `[]` vs `get()` 对比与选择
  • 五、添加与修改键值对
    • 5.1 添加新的键值对
    • 5.2 修改已存在的键值对
  • 六、删除键值对
    • 6.1 使用 `pop()` 方法删除
      • 6.1.1 `pop(key)` 基本用法
      • 6.1.2 `pop(key, default)` 提供默认值
    • 6.2 使用 `popitem()` 方法删除
    • 6.3 使用 `del` 关键字删除
  • 七、总结


前言

欢迎来到 Python 学习之旅的第 14 天!在之前的学习中,我们已经掌握了列表(List)和元组(Tuple)这两种强大的序列数据结构。今天,我们将踏入一个新的领域,探索 Python 中另一个至关重要且应用广泛的数据类型——字典(Dictionary)。字典以其独特的“键值对”存储方式,为我们提供了一种高效管理和查找数据的新途径。本篇作为字典详解的上篇,将重点带你入门字典的基础概念、创建方式以及核心的访问、添加、修改和删除操作。无论你是编程新手,还是希望巩固 Python 基础的开发者,本文都将为你打下坚实的字典基础。

一、什么是字典?

1.1 字典的定义与特性

1.1.1 核心概念:键值对 (Key-Value Pair)

想象一下我们现实生活中的字典,我们可以通过查找一个“词语”(键)来找到它的“释义”(值)。Python 中的字典与此类似,它是一个可变的无序的(在 Python 3.7+ 版本中表现为有序)数据结构,用于存储一系列键值对 (key-value pairs)

  • 键 (Key): 每个键都是唯一的,用于标识和访问与之关联的值。可以把键想象成标签。
  • 值 (Value): 与键相关联的数据,可以是任意 Python 数据类型。

一个键和其对应的值构成一个键值对。字典就是这些键值对的集合。

字典 Dict
键Key1: 值Value1
键Key2: 值Value2
键KeyN: 值ValueN

1.1.2 字典的主要特性

(1)可变性 (Mutable)

字典是可变的,这意味着你可以在创建字典后,随时添加、删除或修改其中的键值对。

(2)顺序性 (Order)
  • Python 3.6 及更早版本: 字典是无序的,键值对的存储顺序与添加顺序可能不一致,遍历时顺序也不固定。
  • Python 3.7 及更高版本: 字典在内部实现上会保持插入顺序。这意味着你按照什么顺序添加键值对,遍历时通常就会按照这个顺序输出。这是一个非常实用的改进。
    • 注意:尽管 Python 3.7+ 的字典保持插入顺序,但在依赖顺序的场景下,仍推荐使用 collections.OrderedDict (尤其是在需要兼容旧版本或强调“有序”语义时)。但对于日常使用,Python 3.7+ 的内置 dict 已经足够。
(3)通过键访问 (Accessed by Key)

与列表或元组通过数字索引访问元素不同,字典中的值是通过其唯一的键来访问的。这种特性使得字典在根据特定标识符查找数据时非常高效。

1.2 为什么需要字典?

想象你需要存储一个班级学生的信息,每个学生有学号和姓名。如果用列表,你可能需要两个列表(一个存学号,一个存姓名),或者一个嵌套列表,查找特定学号的学生姓名会比较麻烦。

使用字典,你可以将学号作为“键”,姓名作为“值”:
{'1001': '张三', '1002': '李四', '1003': '王五'}
这样,通过学号 ‘1001’ 就能迅速找到 ‘张三’。字典非常适合用于表示对象属性、配置信息、数据记录等场景。

二、创建字典

Python 提供了多种创建字典的方式,下面我们来详细了解几种常用的方法。

2.1 使用花括号 {} 创建

这是创建字典最常见和直接的方式。

2.1.1 创建空字典

如果你想先创建一个空的字典,之后再动态添加内容,可以这样做:

# 创建一个空字典
empty_dict = {}
print(f"这是一个空字典: {empty_dict}")
print(f"空字典的类型是: {type(empty_dict)}")

输出:

这是一个空字典: {}
空字典的类型是: <class 'dict'>

2.1.2 创建带有初始值的字典

你可以在花括号内直接定义一系列的键值对,每个键值对之间用逗号 , 分隔,键和值之间用冒号 : 分隔。

# 创建一个包含初始值的字典
student_info = {"name": "小明","age": 18,"major": "计算机科学","id": "S001"
}
print(f"学生信息字典: {student_info}")contact_info = {"email": "xiaoming@example.com", "phone": "13800138000"}
print(f"联系方式字典: {contact_info}")

输出:

学生信息字典: {'name': '小明', 'age': 18, 'major': '计算机科学', 'id': 'S001'}
联系方式字典: {'email': 'xiaoming@example.com', 'phone': '13800138000'}

2.2 使用 dict() 构造函数创建

dict() 构造函数提供了更灵活的字典创建方式。

2.2.1 通过关键字参数创建

你可以将键作为关键字参数传递给 dict() 函数,此时键必须是合法的 Python 标识符(通常是字符串,且不需要加引号)。

# 使用 dict() 构造函数和关键字参数创建字典
person = dict(name="小红", age=20, city="上海")
print(f"个人信息 (关键字参数创建): {person}")

输出:

个人信息 (关键字参数创建): {'name': '小红', 'age': 20, 'city': '上海'}

注意:这种方式下,键 name, age, city 自动成为字符串 “name”, “age”, “city”。

2.2.2 通过可迭代的键值对序列创建

你可以将一个包含元组(或其他包含两个元素的可迭代对象)的列表或元组传递给 dict() 构造函数,每个元组代表一个键值对。

# 使用 dict() 构造函数和键值对序列创建字典
# 列表包含元组
items_list = [("apple", 5), ("banana", 3), ("orange", 7)]
fruit_stock = dict(items_list)
print(f"水果库存 (列表元组创建): {fruit_stock}")# 元组包含元组
items_tuple = (("cpu", 2500), ("memory", 800), ("ssd", 600))
computer_parts = dict(items_tuple)
print(f"电脑配件 (元组元组创建): {computer_parts}")

输出:

水果库存 (列表元组创建): {'apple': 5, 'banana': 3, 'orange': 7}
电脑配件 (元组元组创建): {'cpu': 2500, 'memory': 800, 'ssd': 600}

2.2.3 通过映射关系创建 (字典推导式的前身)

虽然字典推导式(后续章节会讲)是更现代的方式,但 dict() 也可以接受一个“映射”对象。
例如,从两个列表创建字典(不常用,但可以了解):

keys = ["a", "b", "c"]
values = [1, 2, 3]
# 使用 zip 函数将键列表和值列表配对,然后传递给 dict()
my_dict_from_zip = dict(zip(keys, values))
print(f"通过zip创建的字典: {my_dict_from_zip}")

输出:

通过zip创建的字典: {'a': 1, 'b': 2, 'c': 3}

2.2.4 创建空字典

同样,dict() 不带任何参数时也会创建一个空字典:

empty_dict_constructor = dict()
print(f"使用 dict() 创建的空字典: {empty_dict_constructor}")

输出:

使用 dict() 创建的空字典: {}

三、键 (Key) 的要求

字典的键非常重要,它们必须满足以下两个核心要求:

3.1 唯一性 (Unique)

在一个字典中,所有的键必须是唯一的。如果你在定义字典时使用了重复的键,Python 不会报错,但只会保留最后一个键值对。

# 键的唯一性演示
duplicate_key_dict = {"name": "张三","age": 25,"name": "李四"  # 重复的键 'name'
}
print(f"包含重复键的字典: {duplicate_key_dict}")

输出:

包含重复键的字典: {'name': '李四', 'age': 25}

可以看到,第一个 "name": "张三" 被后面的 "name": "李四" 覆盖了。

3.2 不可变性 (Immutable) 和可哈希性 (Hashable)

字典的键必须是不可变类型的对象,例如:

  • 字符串 (string)
  • 数字 (int, float, bool)
  • 元组 (tuple),前提是元组内所有元素也都是不可变的。

列表(list)、字典(dict)或者其他可变集合(set)不能作为字典的键,因为它们的值可以被修改,这会导致哈希值变化,破坏字典的内部结构。

3.2.1 什么是可哈希性 (Hashable)?

简单来说,一个对象在其生命周期内,如果它的哈希值(通过 hash() 函数计算得到的一个整数)是不变的,并且可以与其他对象进行比较,那么这个对象就是可哈希的。不可变类型的对象通常都是可哈希的。

3.2.2 合法的键示例

valid_keys_dict = {"name": "Alice",        # 字符串作为键100: "ID Number",       # 整数作为键3.14: "PI",             # 浮点数作为键True: "Boolean Key",    # 布尔值作为键("host", "port"): "127.0.0.1:8080" # 元组作为键
}
print(f"包含各种合法键的字典: {valid_keys_dict}")

输出:

包含各种合法键的字典: {'name': 'Alice', 100: 'ID Number', 3.14: 'PI', True: 'Boolean Key', ('host', 'port'): '127.0.0.1:8080'}

3.2.3 非法的键示例

尝试使用可变类型(如列表)作为键会导致 TypeError

# 尝试使用列表作为键 (会导致错误)
try:invalid_key_dict = {["my_list_key"]: "some value"}print(invalid_key_dict)
except TypeError as e:print(f"错误信息: {e}")

输出:

错误信息: unhashable type: 'list'

这个错误明确告诉我们列表是不可哈希的,因此不能作为字典的键。

四、访问字典中的值

创建字典后,最常见的操作之一就是根据键来获取对应的值。

4.1 通过键直接访问 (dict[key])

你可以像访问列表元素那样,使用方括号 [] 并在其中放入键来获取对应的值。

student = {"name": "小明", "age": 18, "major": "计算机科学"}# 访问存在的键
student_name = student["name"]
student_age = student["age"]print(f"学生姓名: {student_name}")
print(f"学生年龄: {student_age}")

输出:

学生姓名: 小明
学生年龄: 18

4.1.1 访问不存在的键 (KeyError)

如果尝试访问一个字典中不存在的键,Python 会抛出 KeyError 异常。

student = {"name": "小明", "age": 18}try:student_gender = student["gender"] # "gender" 键不存在print(f"学生性别: {student_gender}")
except KeyError as e:print(f"访问不存在的键时发生错误: KeyError: {e}")

输出:

访问不存在的键时发生错误: KeyError: 'gender'

这种方式直接明了,但在不确定键是否存在时需要配合异常处理,否则可能导致程序中断。

4.2 使用 get() 方法访问

为了更安全地访问字典中的值(避免 KeyError),可以使用字典的 get() 方法。

4.2.1 get(key) 的基本用法

如果键存在,get(key) 返回对应的值;如果键不存在,它默认返回 None,而不会抛出异常。

student = {"name": "小明", "age": 18}# 访问存在的键
student_name = student.get("name")
print(f"学生姓名 (get): {student_name}")# 访问不存在的键
student_gender = student.get("gender") # "gender" 键不存在
print(f"学生性别 (get, 键不存在): {student_gender}")
print(f"返回值的类型: {type(student_gender)}")

输出:

学生姓名 (get): 小明
学生性别 (get, 键不存在): None
返回值的类型: <class 'NoneType'>

4.2.2 get(key, default_value) 提供默认值

get() 方法还可以接受第二个可选参数,作为当键不存在时返回的默认值。

student = {"name": "小明", "age": 18}# 访问不存在的键,并提供一个默认值 "未知"
student_major = student.get("major", "未知")
print(f"学生专业 (get, 键不存在, 提供默认值): {student_major}")# 访问存在的键,默认值不会被使用
student_age = student.get("age", 0) # age 存在,返回 18
print(f"学生年龄 (get, 键存在, 提供默认值): {student_age}")

输出:

学生专业 (get, 键不存在, 提供默认值): 未知
学生年龄 (get, 键存在, 提供默认值): 18

4.2.3 [] vs get() 对比与选择

特性dict[key]dict.get(key, default)
键存在时返回对应的值返回对应的值
键不存在时抛出 KeyError 异常返回 None (默认) 或指定的 default
适用场景确定键一定存在,或希望通过异常处理错误不确定键是否存在,希望避免异常,或提供优雅的默认处理

选择建议

  • 当你明确知道一个键应该存在于字典中,并且如果它不存在就表示程序逻辑有误时,直接使用 dict[key] 可能更合适,因为 KeyError 可以清晰地指示出问题。
  • 当你不确定一个键是否存在,并且希望在它不存在时程序能继续平稳运行(例如,使用一个默认值),那么 get() 方法是更好的选择。

五、添加与修改键值对

由于字典是可变的,我们可以很方便地向字典中添加新的键值对,或者修改已存在的键值对。操作方式非常相似。

5.1 添加新的键值对

如果指定的键在字典中不存在,那么赋值操作会向字典中添加一个新的键值对。
语法:dictionary[new_key] = value

# 初始字典
config = {"host": "localhost", "port": 8080}
print(f"初始配置: {config}")# 添加新的键值对 "username"
config["username"] = "admin"
print(f"添加 username 后: {config}")# 添加新的键值对 "timeout"
config["timeout"] = 30
print(f"添加 timeout 后: {config}")

输出:

初始配置: {'host': 'localhost', 'port': 8080}
添加 username 后: {'host': 'localhost', 'port': 8080, 'username': 'admin'}
添加 timeout 后: {'host': 'localhost', 'port': 8080, 'username': 'admin', 'timeout': 30}

5.2 修改已存在的键值对

如果指定的键在字典中已经存在,那么赋值操作会更新该键对应的值。
语法:dictionary[existing_key] = new_value

# 初始字典
user_profile = {"name": "张三", "email": "zhangsan@old.com", "status": "active"}
print(f"初始用户配置: {user_profile}")# 修改 "email" 的值
user_profile["email"] = "zhangsan@new.com"
print(f"修改 email 后: {user_profile}")# 修改 "status" 的值
user_profile["status"] = "inactive"
print(f"修改 status 后: {user_profile}")

输出:

初始用户配置: {'name': '张三', 'email': 'zhangsan@old.com', 'status': 'active'}
修改 email 后: {'name': '张三', 'email': 'zhangsan@new.com', 'status': 'active'}
修改 status 后: {'name': '张三', 'email': 'zhangsan@new.com', 'status': 'inactive'}

总结:对于赋值操作 dictionary[key] = value

  • 如果 key 不存在于 dictionary 中,则添加新的键值对 key: value
  • 如果 key 已存在于 dictionary 中,则更新 key 对应的 value

六、删除键值对

Python 提供了几种从字典中删除键值对的方法。

6.1 使用 pop() 方法删除

pop(key[, default]) 方法用于移除字典中指定的键值对,并返回该键对应的值。

6.1.1 pop(key) 基本用法

如果键存在,则删除该键值对并返回其值。如果键不存在,则会引发 KeyError

car_specs = {"brand": "Tesla", "model": "Model S", "year": 2023, "color": "red"}
print(f"原始汽车规格: {car_specs}")# 删除 "color" 键并获取其值
removed_color = car_specs.pop("color")
print(f"删除的颜色是: {removed_color}")
print(f"删除 color 后的规格: {car_specs}")# 尝试删除一个存在的键 "year"
removed_year = car_specs.pop("year")
print(f"删除的年份是: {removed_year}")
print(f"删除 year 后的规格: {car_specs}")

输出:

原始汽车规格: {'brand': 'Tesla', 'model': 'Model S', 'year': 2023, 'color': 'red'}
删除的颜色是: red
删除 color 后的规格: {'brand': 'Tesla', 'model': 'Model S', 'year': 2023}
删除的年份是: 2023
删除 year 后的规格: {'brand': 'Tesla', 'model': 'Model S'}

6.1.2 pop(key, default) 提供默认值

如果 pop() 方法提供了第二个参数 default,那么当指定的键不存在时,不会抛出 KeyError,而是返回这个 default 值,字典本身不会改变。

settings = {"theme": "dark", "fontSize": 14}
print(f"原始设置: {settings}")# 尝试删除一个不存在的键 "language",并提供默认值
removed_lang = settings.pop("language", "english")
print(f"尝试删除 language 返回: {removed_lang}")
print(f"删除不存在的键后 (有默认值),设置不变: {settings}")# 尝试删除存在的键 "fontSize",默认值不会被使用
removed_font_size = settings.pop("fontSize", 12)
print(f"删除 fontSize 返回: {removed_font_size}")
print(f"删除 fontSize 后: {settings}")

输出:

原始设置: {'theme': 'dark', 'fontSize': 14}
尝试删除 language 返回: english
删除不存在的键后 (有默认值),设置不变: {'theme': 'dark', 'fontSize': 14}
删除 fontSize 返回: 14
删除 fontSize 后: {'theme': 'dark'}

6.2 使用 popitem() 方法删除

popitem() 方法用于移除并返回字典中的一个“任意”键值对(以元组 (key, value) 的形式)。

  • 在 Python 3.7+ 中,popitem() 保证移除并返回最后插入的键值对 (LIFO - Last In, First Out)。
  • 在 Python 3.6 及更早版本中,它移除并返回一个随机的键值对。

如果字典为空,调用 popitem() 会引发 KeyError

# 适用于 Python 3.7+ (LIFO行为)
user_activity = {"login_time": "2023-10-26 10:00","last_action": "view_profile","session_id": "xyz123" # 最后插入
}
print(f"原始用户活动: {user_activity}")# 移除最后插入的项
last_item = user_activity.popitem()
print(f"移除的最后一项是: {last_item}")
print(f"popitem() 后用户活动: {user_activity}")next_last_item = user_activity.popitem()
print(f"再次移除的最后一项是: {next_last_item}")
print(f"再次 popitem() 后用户活动: {user_activity}")# 清空字典直至为空
user_activity.popitem()
# print(user_activity.popitem()) # 如果再调用,会引发 KeyError

输出 (Python 3.7+):

原始用户活动: {'login_time': '2023-10-26 10:00', 'last_action': 'view_profile', 'session_id': 'xyz123'}
移除的最后一项是: ('session_id', 'xyz123')
popitem() 后用户活动: {'login_time': '2023-10-26 10:00', 'last_action': 'view_profile'}
再次移除的最后一项是: ('last_action', 'view_profile')
再次 popitem() 后用户活动: {'login_time': '2023-10-26 10:00'}

6.3 使用 del 关键字删除

del 是 Python 的一个关键字(不是函数或方法),可以用来删除字典中指定的键值对。
语法:del dictionary[key]

如果指定的键不存在,del 会引发 KeyError

product = {"id": "P001", "name": "Laptop", "price": 7999, "in_stock": True}
print(f"原始产品信息: {product}")# 删除 "in_stock" 键
del product["in_stock"]
print(f"删除 in_stock 后: {product}")# 删除 "price" 键
del product["price"]
print(f"删除 price 后: {product}")# 尝试删除不存在的键 (会导致 KeyError)
try:del product["warranty"]
except KeyError as e:print(f"尝试删除不存在的键 'warranty' 时发生错误: {e}")

输出:

原始产品信息: {'id': 'P001', 'name': 'Laptop', 'price': 7999, 'in_stock': True}
删除 in_stock 后: {'id': 'P001', 'name': 'Laptop', 'price': 7999}
删除 price 后: {'id': 'P001', 'name': 'Laptop'}
尝试删除不存在的键 'warranty' 时发生错误: 'warranty'

pop() vs del

  • pop(key) 会删除键值对并返回被删除的值,适合你需要使用这个被删除值的场景。
  • del dict[key] 直接删除键值对,不返回任何值。如果只是想删除,不在乎值是什么,del 更直接。

七、总结

在本篇【Python-Day 14】中,我们对 Python 字典(Dictionary)的基础知识进行了详细的探讨,主要集中在字典的创建与基本操作。以下是核心内容的概括:

  1. 什么是字典

    • 字典是 Python 中一种通过键值对 (key-value pair) 存储数据的数据结构。
    • 键 (Key) 必须是唯一不可变的(可哈希的)。
    • 值 (Value) 可以是任意 Python 数据类型。
    • 字典是可变的。Python 3.7+ 版本开始,字典会保持元素的插入顺序
  2. 创建字典

    • 使用花括号 {}my_dict = {"key1": "value1", "key2": "value2"}empty_dict = {}
    • 使用 dict() 构造函数:
      • 通过关键字参数:my_dict = dict(key1="value1", key2="value2")
      • 通过键值对序列:my_dict = dict([("key1", "value1"), ("key2", "value2")])
      • 通过 zip() 函数结合键列表和值列表:my_dict = dict(zip(keys, values))
  3. 键 (Key) 的要求

    • 唯一性:同一个字典中,键不能重复。重复的键会导致前者被覆盖。
    • 不可变性与可哈希性:键必须是不可变类型,如字符串、数字、元组(其元素也需不可变)。列表、字典等可变类型不能作为键。
  4. 访问字典中的值

    • 通过键直接访问 dict[key]:如果键存在,返回对应的值;如果键不存在,抛出 KeyError
    • 使用 get(key, default=None) 方法:如果键存在,返回对应的值;如果键不存在,返回 None 或指定的 default 值,不会报错。
  5. 添加与修改键值对

    • 使用赋值操作 dictionary[key] = value
    • 如果 key 不存在,则添加新的键值对。
    • 如果 key 已存在,则修改该 key 对应的 value
  6. 删除键值对

    • pop(key[, default]):删除指定 key 的键值对并返回其值。若 key 不存在且未提供 default,则抛出 KeyError
    • popitem():删除并返回一个键值对(Python 3.7+ 为最后插入的项)。字典为空时抛出 KeyError
    • del dictionary[key]:删除指定 key 的键值对。若 key 不存在,则抛出 KeyError

通过本篇的学习,你已经掌握了字典最基本也是最常用的操作。在下一篇《字典 (Dictionary) 详解 (下)》中,我们将继续探索字典的常用方法(如获取所有键、值、遍历字典等)以及更高级的应用。敬请期待!


http://www.xdnf.cn/news/477955.html

相关文章:

  • Flutter目录结构介绍、入口、Widget、Center组件、Text组件、MaterialApp组件、Scaffold组件
  • 【RK3588嵌入式图形编程】-Cairo-绘图基础-线条
  • Armijo rule
  • 从另一个视角理解TCP握手、挥手与可靠传输
  • k8s灰度发布
  • MES系统与ERP、SCM、QMS、APS系统的关系
  • 蓝牙网关都有哪些型号?
  • 【笔记】记一次PyCharm的问题反馈
  • PyTorch 的 F.scaled_dot_product_attention 返回Nan
  • 微服务初步学习
  • 变量赋值和数据类型
  • Git 笔记
  • 将已打包好的aar文件,上传到 Coding 的 Maven 仓库
  • uniapp实现在线pdf预览以及下载
  • node.js文件系统(fs) - 创建文件、打开文件、写入数据、追加数据、读取数据、创建目录、删除目录
  • 鸿蒙NEXT开发动画案例10
  • 账号风控突破:云手机设备指纹篡改检测与反制技术解析
  • 学习日志38-cpelx求解器使用
  • 前端脚手架开发指南:提高开发效率的核心操作
  • React学习———React Router
  • Jenkins 执行器(Executor)如何调整限制?
  • vue3中预览Excel文件
  • 技术文章:解决汇川MD500系列变频器干扰问题——GRJ9000S EMC滤波器的应用
  • 影楼精修-肤色统一算法解析
  • 7-15 计算圆周率
  • C++ Kafka客户端(cppkafka)安装与问题解决指南
  • Oracle — 总结
  • 智能接处警系统:以秒级联动响应重塑应急处置效能
  • 使用exceljs将excel文件转化为html预览最佳实践(完整源码)
  • 掌握HTML文件上传:从基础到高级技巧