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

[Python 基础课程]字典

字典

想象一下你正在查字典,你需要通过一个词语(键)来找到它的解释(值)。Python 的字典也是类似的概念。它是一种无序的、可变的集合,用于存储键-值(key-value)对。

键 (Key): 字典中的每个元素都有一个唯一的标识符,我们称之为键。键必须是不可变的数据类型,例如字符串、数字或元组

值 (Value): 与每个键关联的数据称为值。值可以是任何 Python 数据类型,并且值的类型可以是不同的类型

字典使用花括号 {} 来定义,每个键-值对之间用逗号 , 分隔,键和值之间用冒号 : 连接。

让我们看一些字典的例子:

# 一个存储学生信息的字典
student = {'name': 'Alice', 'age': 20, 'major': 'Computer Science'}
# {'name': 'Alice', 'age': 20, 'major': 'Computer Science'}
print(student)
# 输出: <class 'dict'>
print(type(student))# 一个存储商品价格的字典
prices = {'apple': 1.5, 'banana': 0.75, 'orange': 1.0}
# {'apple': 1.5, 'banana': 0.75, 'orange': 1.0}
print(prices)# 键可以是数字
grades = {90: 'A', 80: 'B', 70: 'C'}
# {90: 'A', 80: 'B', 70: 'C'}
print(grades)# 值可以是列表或其他的字典,值的类型可以是不同的类型
data = {'name': 'Bob', 'courses': ['Math', 'Physics'], 'address': {'city': 'New York', 'zip': '10001'}}
# {'name': 'Bob', 'courses': ['Math', 'Physics'], 'address': {'city': 'New York', 'zip': '10001'}}
print(data)# 空字典
empty_dict = {}
# {}
print(empty_dict)

关键点:

  • 字典中的元素是无序的。这意味着当你打印一个字典时,元素的顺序可能与你定义时的顺序不同。你不应该依赖字典中元素的特定顺序
  • 键必须是唯一的。如果在同一个字典中出现重复的键,后面的键-值对会覆盖前面的,值可以是不同的类型

访问字典中的值

与列表和元组使用索引来访问元素不同,我们使用来访问字典中对应的值。

student = {'name': 'Alice', 'age': 20, 'major': 'Computer Science'}# 通过键 'name' 访问对应的值
name = student['name']
# Alice
print(name)# 通过键 'age' 访问对应的值
age = student['age']
# 20
print(age)# 如果尝试访问一个不存在的键,会引发 KeyError 错误
# error = student['grade'] # 这会报错!

为了避免 KeyError,我们可以使用 get() 方法。get() 方法在键存在时返回对应的值,如果键不存在则返回 None(或者你指定的默认值)。

student = {'name': 'Alice', 'age': 20, 'major': 'Computer Science'}grade = student.get('grade')
# None
print(grade)# 如果键不存在,返回 'N/A'
grade = student.get('grade', 'N/A')
# N/A
print(grade)name = student.get('name')
# Alice
print(name)

修改字典

字典是可变的,这意味着我们可以在创建后修改字典的内容。

添加新的键值对:

student = {'name': 'Alice', 'age': 20}
student['major'] = 'Computer Science'
# {'name': 'Alice', 'age': 20, 'major': 'Computer Science'}
print(student)

修改已有的值:

student = {'name': 'Alice', 'age': 20, 'major': 'Computer Science'}
student['age'] = 21
# {'name': 'Alice', 'age': 21, 'major': 'Computer Science'}
print(student)

删除键值对可以使用 del 关键字或者 pop() 方法:

student = {'name': 'Alice', 'age': 21, 'major': 'Computer Science'}
del student['age']
# {'name': 'Alice', 'major': 'Computer Science'}
print(student)
student = {'name': 'Alice', 'major': 'Computer Science'}
removed_major = student.pop('major')
# {'name': 'Alice'}
print(student)
# Computer Science
print(removed_major)

使用 clear() 方法可以移除字典中的所有元素:

student = {'name': 'Alice', 'major': 'Computer Science'}
student.clear()
# {}
print(student)

遍历字典

第一种是调用 keys 方法获取到所有的 key,遍历 key 拿到 key 对应的值:

my_dict = {"name": "Alice", "age": 30, "city": "New York"}# 使用 keys() 方法获取所有的键
keys = my_dict.keys()
print(f"所有的键:{keys}")# 遍历所有的键,并获取每个键对应的值
print("\n遍历键和值:")
for key in keys:value = my_dict[key]print(f"键: {key}, 值: {value}")

第二种是直接对第一种进行简写:

my_dict = {"name": "Alice", "age": 30, "city": "New York"}# 更简洁的遍历方式(直接遍历字典的键)
print("\n更简洁的遍历方式:")
for key in my_dict:value = my_dict[key]print(f"键: {key}, 值: {value}")

第三种是直接调用 items 方法同时获取到 key 和 value:

my_dict = {"name": "Alice", "age": 30, "city": "New York"}for key, value in my_dict.items():print(f"键: {key}, 值: {value}")
http://www.dtcms.com/a/277874.html

相关文章:

  • 代码随想录算法训练营第十七天
  • spring--@Autowired
  • LlamaIndex Querying 自定义查询
  • JavaScript数据结构算法
  • js入门01
  • YOLOv5目标检测标准化流程
  • 013_流式输出与实时响应
  • 【SSM】SpringBoot 实现邮件发送
  • Typecho博客新文章自动添加“New“标签的实现方案
  • 热点代码探测确定何时JITTest01
  • 16. JVM调优工具
  • 华为OD 处理器
  • 格密码--LWE,DLWE和ss-LWE
  • 【王树森推荐系统】重排04:DPP 多样性算法(上)
  • python学习打卡:DAY 45 Tensorboard使用介绍
  • 言语理解高频词之生僻成语
  • 驱动开发(3)|rk356x驱动GPIO基础应用之点亮led灯
  • idea docker插件连接docker失败
  • [RPA] 批量数据抓取指定商品名称信息
  • Pandas-数据清洗与处理
  • Spring高级特性——反射和动态代理的性能优化
  • SQL预编译:安全高效数据库操作的关键
  • 《1.5倍与2倍的扩容密码:Java容器的内存性能抉择》
  • 【牛客刷题】四个选项:高考选择题方案统计(并查集+动态规划)
  • 01.深入理解 Python 中的 if __name__ == “__main__“
  • TensorFlow深度学习实战(25)——变分自编码器详解与实现
  • 工作流执行路径的有效性
  • 零基础入门物联网-远程门禁开关:软件安装
  • 014_批处理与大规模任务
  • 【容器】资源平台初探 - K8s核心资源全解析:从Pod到StatefulSet