Python: 常用数据结构
本文档属于学习 Python指南的一部分。您可以在此处查看完整指南:全面的 Python 指南。
👋 欢迎来到 Stackhero 文档!
Stackhero 提供现成的 Python 云 解决方案,具有众多优势,包括:
- 通过简单的
git push在几秒钟内 部署您的应用程序。- 使用您自己的域名,并享受 HTTPS 证书的自动配置以增强安全性。
- 享受 自动备份、一键更新,以及简单、透明和可预测的定价,让您高枕无忧。
- 通过私有和专用的 VM获得最佳的性能和强大的安全性。
节省时间并简化您的生活:只需 5 分钟即可试用 Stackhero 的 Python 云托管 解决方案!
Python 提供了多种数据结构来帮助您有效地组织、存储和操作数据。最常用的是列表、元组、字典和集合。列表和元组维护元素的有序序列,字典存储键值对,集合存储唯一元素。每种结构都有一系列针对特定用例的方法。
- 列表:
my_list = [1, 2, 3, 4] - 元组:
my_tuple = (1, 2, 3, 4) - 字典:
my_dictionary = {'key1': 'value1', 'key2': 'value2'} - 集合:
my_set = {1, 2, 3, 4}
列表
列表是可变的、有序的元素集合。它们允许重复,并且可以包含各种数据类型的元素,包括其他列表、元组、字典或集合。您可以轻松添加、更新和删除元素。列表在方括号 [] 中定义,元素之间用逗号分隔。
关于列表的关键点:
- 可变且有序
- 允许重复元素
- 保持添加元素的顺序
- 支持多种数据类型
- 提供添加、更新和删除元素的操作
当您需要动态且可调整大小的项目集合时,列表通常会被使用。
示例:
# 创建一个列表
my_list = [1, 2, 3, 4, 5]
# 访问元素
print(my_list[0]) # 输出:1
print(my_list[-1]) # 输出:5
# 添加元素
my_list.append(6)
print(my_list) # 输出:[1, 2, 3, 4, 5, 6]
# 更新元素
my_list[0] = 0
print(my_list) # 输出:[0, 2, 3, 4, 5, 6]
# 删除元素
del my_list[0]
print(my_list) # 输出:[2, 3, 4, 5, 6]
字典
字典是可变的、无序的键值对集合。每个键必须是唯一的,您可以使用这些键访问其关联的值。与列表一样,字典可以存储各种数据类型的元素,包括嵌套集合。它们在花括号 {} 中定义,键值对之间用逗号分隔,键和值之间用冒号分隔。
关于字典的关键点:
- 可变且无序的集合
- 由唯一键的键值对组成
- 使用键访问值
- 存储多种数据类型
字典非常适合需要查找的任务,例如配置设置或频率计数。
示例:
# 创建一个字典
my_dictionary = {'a': 1, 'b': 2, 'c': 3}
# 访问元素
print(my_dictionary['a']) # 输出:1
# 添加元素
my_dictionary['d'] = 4
print(my_dictionary) # 输出:{'a': 1, 'b': 2, 'c': 3, 'd': 4}
# 更新元素
my_dictionary['a'] = 0
print(my_dictionary) # 输出:{'a': 0, 'b': 2, 'c': 3, 'd': 4}
# 删除元素
del my_dictionary['a']
print(my_dictionary) # 输出:{'b': 2, 'c': 3, 'd': 4}
元组
元组是不可变的、有序的元素集合。它们的工作方式与列表类似,只是元组创建后,其元素不能更改、添加或删除。元组使用圆括号 () 定义,元素之间用逗号分隔。
关于元组的关键点:
- 不可变且有序的集合
- 支持多种数据类型
- 固定大小的结构
当您需要不可更改的集合,或希望将集合用作字典键时,元组非常有用。
示例:
# 创建一个元组
my_tuple = (1, 2, 3, 4, 5)
# 访问元素
print(my_tuple[0]) # 输出:1
print(my_tuple[-1]) # 输出:5
# 注意:元组是不可变的
集合
集合是可变的、无序的集合,存储唯一元素。它们自动删除重复项,并且不维护顺序。集合可以包含多种数据类型的元素,但不包括可变类型,如列表和字典。它们可以使用花括号 {} 或 set() 构造函数定义。
关于集合的关键点:
- 可变且无序
- 仅存储唯一元素,自动删除重复项
- 排除可变类型(如列表和字典)
集合非常适合成员测试、去重和执行集合操作,如并集、交集和差集。
# 创建一个集合
my_set = {1, 2, 3, 4, 5}
# 检查成员资格
print(1 in my_set) # 输出:True
# 添加元素
my_set.add(6)
print(my_set) # 输出:{1, 2, 3, 4, 5, 6}
# 通过删除一个元素并添加另一个元素进行更新
my_set.remove(1)
my_set.add(0)
print(my_set) # 输出:{0, 2, 3, 4, 5, 6}
# 删除元素
my_set.remove(0)
print(my_set) # 输出:{2, 3, 4, 5, 6}