Python编程入门:字典、集合与文件操作详解76


大家好,欢迎来到Python编程入门系列教程的第132篇!今天我们将深入探讨Python中三个非常重要的数据结构:字典、集合和文件操作。掌握这些内容,将极大地提升你的编程能力,让你能够处理更复杂的问题和更大的数据集。

一、字典 (Dictionary)

字典是Python中一种非常灵活且强大的数据结构,它以键值对 (key-value pair) 的形式存储数据。键必须是不可变的类型,例如字符串、数字或元组,而值可以是任何Python对象。字典使用花括号 `{}` 定义,键值对之间用冒号 `:` 分隔,键值对之间用逗号 `,` 分隔。

例如,一个存储学生信息的字典可以这样定义:
student = {
"name": "Alice",
"age": 20,
"score": 85,
"courses": ["Math", "Physics", "Chemistry"]
}

我们可以通过键访问字典中的值:
print(student["name"]) # 输出:Alice
print(student["score"]) # 输出:85

如果尝试访问不存在的键,会抛出 `KeyError` 异常。为了避免这种情况,可以使用 `get()` 方法,它可以指定一个默认值:
print(("grade", "N/A")) # 输出:N/A

我们可以添加、修改和删除字典中的键值对:
student["grade"] = "A" # 添加键值对
student["age"] = 21 # 修改键值对
del student["courses"] # 删除键值对

字典还有一些常用的方法,例如 `keys()`、`values()`、`items()`,分别返回字典的键、值和键值对的迭代器。
print(()) # 输出:dict_keys(['name', 'age', 'score', 'grade'])
print(()) # 输出:dict_values(['Alice', 21, 85, 'A'])
print(()) # 输出:dict_items([('name', 'Alice'), ('age', 21), ('score', 85), ('grade', 'A')])


二、集合 (Set)

集合是一个无序的不重复元素的序列。它可以使用花括号 `{}` 或 `set()` 函数创建。集合的主要用途是进行成员测试和消除重复元素。

例如,创建一个集合:
my_set = {1, 2, 3, 3, 4, 5} # 重复的元素会被自动去除
print(my_set) # 输出:{1, 2, 3, 4, 5}

集合支持常见的集合操作,例如:
add(x): 添加元素 x 到集合中。
remove(x): 删除元素 x,如果 x 不存在则抛出 KeyError。
discard(x): 删除元素 x,如果 x 不存在则不会抛出异常。
union(other) 或 |: 返回两个集合的并集。
intersection(other) 或 &: 返回两个集合的交集。
difference(other) 或 -: 返回集合与另一个集合的差集。
symmetric_difference(other) 或 ^: 返回两个集合的对称差集。


三、文件操作

文件操作是程序与外部存储交互的关键。Python 提供了简单易用的文件操作函数。

打开文件使用 `open()` 函数,它需要两个参数:文件名和模式。常用的模式包括:
`"r"`: 读取模式 (默认)
`"w"`: 写入模式 (如果文件存在则覆盖)
`"a"`: 追加模式 (在文件末尾追加)
`"x"`: 创建写入模式 (如果文件已存在则抛出异常)
`"b"`: 二进制模式
`"t"`: 文本模式 (默认)

例如,读取文件:
with open("", "r") as f:
content = ()
print(content)

写入文件:
with open("", "w") as f:
("Hello, world!")

`with open(...) as f:` 语句确保文件在使用完毕后自动关闭,即使发生异常也能保证文件被正确关闭,避免资源泄露。

还可以使用 `readline()` 逐行读取文件,`readlines()` 读取所有行到一个列表中,以及 `writelines()` 一次写入多行。

本节内容涵盖了字典、集合和文件操作的基础知识。熟练掌握这些内容,将使你的Python编程能力更上一层楼。 在接下来的教程中,我们将继续学习更多高级的Python技巧和知识。请继续关注!

2025-03-31


上一篇:Python编程绘本:让孩子轻松入门编程世界

下一篇:Python GUI编程IDE推荐与效率提升技巧