Python3 字典

Python3字典知识点详解

Python3 字典知识点大全

编程小白也能看懂的终极指南

字典是Python中最重要的数据结构之一,它就像现实生活中的字典一样,通过键(key)可以快速找到对应的值(value)

字典是无序可变的集合,使用花括号{}创建,元素由键值对组成,键和值之间用冒号:分隔。

 字典创建

创建字典的三种主要方式:

1. 直接创建:使用花括号{},键值对用逗号分隔

# 创建一个学生信息字典
student = {“name”: “张三”, “age”: 20, “major”: “计算机科学”}

2. 使用dict()函数:可以传入键值对序列

student = dict(name=“李四”, age=21, major=“数据科学”)

3. 字典推导式:通过表达式生成字典

# 创建数字平方的字典
squares = {x: x*x for x in range(1, 6)}
# 结果:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
 访问元素

通过键访问值:使用方括号[]或get()方法

student = {“name”: “王五”, “age”: 22}

# 直接访问
print(student[“name”]) # 输出: 王五

# 使用get()方法(更安全,键不存在时返回None)
print(student.get(“age”)) # 输出: 22
print(student.get(“grade”, “未知”)) # 输出: 未知

检查键是否存在:使用in关键字

if “age” in student:
    print(“年龄存在”)

获取所有键和值:keys()和values()方法

keys = student.keys() # 获取所有键
values = student.values() # 获取所有值
 修改字典

添加/更新元素:直接赋值

student = {“name”: “赵六”}

# 添加新元素
student[“age”] = 23

# 更新现有元素
student[“name”] = “钱七”

update()方法:批量更新键值对

student.update({“age”: 24, “major”: “人工智能”})

setdefault()方法:安全地设置默认值

# 如果键不存在,设置默认值;否则返回现有值
major = student.setdefault(“major”, “未指定”)
 删除元素

del关键字:删除指定键的元素

del student[“age”] # 删除age键

pop()方法:删除键并返回对应的值

name = student.pop(“name”) # 删除name键并返回值

popitem()方法:删除最后一个键值对(Python 3.7+有序)

key, value = student.popitem() # 删除并返回最后一个键值对

clear()方法:清空整个字典

student.clear() # 清空所有键值对,字典为空但存在
 遍历字典

遍历所有键:直接遍历字典或使用keys()

for key in student:
    print(key)

for key in student.keys():
    print(key)

遍历所有值:使用values()

for value in student.values():
    print(value)

遍历键值对:使用items()

for key, value in student.items():
    print(f“{key}: {value}”)

字典推导式:创建新字典的强大工具

# 将键转换为大写
new_dict = {k.upper(): v for k, v in student.items()}
 高级特性

嵌套字典:字典中可以包含字典

students = {
  “001”: {“name”: “张三”, “score”: 95},
  “002”: {“name”: “李四”, “score”: 88},
}

字典合并:使用 | 运算符(Python 3.9+)或update()

dict1 = {“a”: 1, “b”: 2}
dict2 = {“b”: 3, “c”: 4}

# 新方法(Python 3.9+)
merged = dict1 | dict2 # {‘a’: 1, ‘b’: 3, ‘c’: 4}

# 传统方法
dict1.update(dict2)

有序字典:collections.OrderedDict

from collections import OrderedDict

# 记住元素添加的顺序
ordered_dict = OrderedDict()
ordered_dict[“a”] = 1
ordered_dict[“b”] = 2

字典结构可视化

字典就像一组抽屉,每个标签(键)对应一个抽屉里的内容(值)

name
“张三”
age
22
major
“计算机”
courses
[“Python”, “算法”]

字典特性总结

  • 键必须唯一 – 不能重复
  • 键不可变 – 可用字符串、数字、元组
  • 值任意类型 – 数字、字符串、列表、字典等
  • 快速查找 – 通过键直接定位值
  • 动态可变 – 随时添加、修改、删除元素
  • 内存高效 – 基于哈希表实现,速度快

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部