Python 数据结构

 Python   大苹果   2024-08-12 20:51   896

Python 数据结构详解

Python 提供了几种内置的数据结构:list(列表)、tuple(元组)、dict(字典)和 set(集合)。这些数据结构是 Python 编程中非常重要的工具,掌握它们可以帮助你高效地处理各种数据。

1. 列表 (list)

列表是 Python 中最常用的数据结构之一。它是一个有序的、可变的集合,可以存储任意类型的对象。

特点:

  • 有序:元素有确定的顺序。
  • 可变:可以修改列表中的元素。
  • 支持重复:列表中可以有重复的元素。

基本操作:

# 创建一个列表
fruits = ["apple", "banana", "cherry"]

# 访问元素
print(fruits[0])  # 输出: apple

# 修改元素
fruits[1] = "blueberry"
print(fruits)  # 输出: ['apple', 'blueberry', 'cherry']

# 添加元素
fruits.append("orange")
print(fruits)  # 输出: ['apple', 'blueberry', 'cherry', 'orange']

# 删除元素
fruits.remove("cherry")
print(fruits)  # 输出: ['apple', 'blueberry', 'orange']

# 列表长度
print(len(fruits))  # 输出: 3

2. 元组 (tuple)

元组和列表类似,但元组是不可变的。一旦创建,就不能修改其内容。

特点:

  • 有序:元素有确定的顺序。
  • 不可变:不能修改元组中的元素。
  • 支持重复:元组中可以有重复的元素。

基本操作:

# 创建一个元组
coordinates = (10, 20, 30)

# 访问元素
print(coordinates[1])  # 输出: 20

# 元组的不可变性
# coordinates[1] = 25  # 这行代码会引发错误,因为元组不可变

# 解包元组
x, y, z = coordinates
print(x, y, z)  # 输出: 10 20 30

3. 字典 (dict)

字典是无序的、可变的集合,用于存储键值对。键必须是唯一的,但值可以重复。

特点:

  • 无序:Python 3.7 之前,字典中的元素是无序的。在 Python 3.7 及之后,字典保持插入顺序。
  • 键值对:每个元素都是一个键值对,键必须是唯一的。
  • 可变:可以修改字典中的元素。

基本操作:

# 创建一个字典
person = {"name": "Alice", "age": 25, "city": "New York"}

# 访问值
print(person["name"])  # 输出: Alice

# 修改值
person["age"] = 26
print(person)  # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York'}

# 添加键值对
person["email"] = "alice@example.com"
print(person)  # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York', 'email': 'alice@example.com'}

# 删除键值对
del person["city"]
print(person)  # 输出: {'name': 'Alice', 'age': 26, 'email': 'alice@example.com'}

# 获取所有键或值
print(person.keys())  # 输出: dict_keys(['name', 'age', 'email'])
print(person.values())  # 输出: dict_values(['Alice', 26, 'alice@example.com'])

4. 集合 (set)

集合是无序的、不重复的元素集合。它主要用于包含测试和去重。

特点:

  • 无序:元素没有特定顺序。
  • 不重复:集合中的每个元素都是唯一的。
  • 可变:可以修改集合中的元素。

基本操作:

# 创建一个集合
fruits_set = {"apple", "banana", "cherry"}

# 添加元素
fruits_set.add("orange")
print(fruits_set)  # 输出: {'orange', 'apple', 'banana', 'cherry'}

# 删除元素
fruits_set.remove("banana")
print(fruits_set)  # 输出: {'orange', 'apple', 'cherry'}

# 集合去重
numbers = [1, 2, 2, 3, 4, 4, 5]
unique_numbers = set(numbers)
print(unique_numbers)  # 输出: {1, 2, 3, 4, 5}

# 集合操作
set_a = {1, 2, 3}
set_b = {3, 4, 5}

# 并集
print(set_a | set_b)  # 输出: {1, 2, 3, 4, 5}

# 交集
print(set_a & set_b)  # 输出: {3}

# 差集
print(set_a - set_b)  # 输出: {1, 2}

总结

掌握这些数据结构及其操作是 Python 编程的基础。通过这些数据结构,你可以高效地组织和处理数据,并且在解决各种编程问题时,这些工具将成为你的有力武器。