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}

列表是可变的、有序的元素集合。它们允许重复,并且可以包含各种数据类型的元素,包括其他列表、元组、字典或集合。您可以轻松添加、更新和删除元素。列表在方括号 [] 中定义,元素之间用逗号分隔。

关于列表的关键点:

  1. 可变且有序
  2. 允许重复元素
  3. 保持添加元素的顺序
  4. 支持多种数据类型
  5. 提供添加、更新和删除元素的操作

当您需要动态且可调整大小的项目集合时,列表通常会被使用。

示例:

# 创建一个列表
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]

字典是可变的、无序的键值对集合。每个键必须是唯一的,您可以使用这些键访问其关联的值。与列表一样,字典可以存储各种数据类型的元素,包括嵌套集合。它们在花括号 {} 中定义,键值对之间用逗号分隔,键和值之间用冒号分隔。

关于字典的关键点:

  1. 可变且无序的集合
  2. 由唯一键的键值对组成
  3. 使用键访问值
  4. 存储多种数据类型

字典非常适合需要查找的任务,例如配置设置或频率计数。

示例:

# 创建一个字典
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}

元组是不可变的、有序的元素集合。它们的工作方式与列表类似,只是元组创建后,其元素不能更改、添加或删除。元组使用圆括号 () 定义,元素之间用逗号分隔。

关于元组的关键点:

  1. 不可变且有序的集合
  2. 支持多种数据类型
  3. 固定大小的结构

当您需要不可更改的集合,或希望将集合用作字典键时,元组非常有用。

示例:

# 创建一个元组
my_tuple = (1, 2, 3, 4, 5)

# 访问元素
print(my_tuple[0])  # 输出:1
print(my_tuple[-1])  # 输出:5

# 注意:元组是不可变的

集合是可变的、无序的集合,存储唯一元素。它们自动删除重复项,并且不维护顺序。集合可以包含多种数据类型的元素,但不包括可变类型,如列表和字典。它们可以使用花括号 {}set() 构造函数定义。

关于集合的关键点:

  1. 可变且无序
  2. 仅存储唯一元素,自动删除重复项
  3. 排除可变类型(如列表和字典)

集合非常适合成员测试、去重和执行集合操作,如并集、交集和差集。

# 创建一个集合
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}