当前位置:首页>python>Python入门05:搞定列表(List),玩转核心数据结构!

Python入门05:搞定列表(List),玩转核心数据结构!

  • 2026-09-02 15:57:56
Python入门05:搞定列表(List),玩转核心数据结构!

Python入门05:搞定列表(List),玩转核心数据结构!

在上一节课中,我们学习了如何通过运算符来处理和计算数据。但程序的核心不仅仅是计算,更重要的是如何高效地组织和管理数据。这节课,我们将深入Python的灵魂——核心数据结构,并首先聚焦于其中最强大、最灵活的成员:列表(List)。

在许多编程语言(如C++、Java)中,数组(Array)是存储数据集合的基础工具,但它有一个显著的限制:长度固定。一旦声明了数组的大小,就无法再改变。

Python的列表则完全不同,你可以把它理解为一个**“动态数组”。它使用方括号[]定义,最大的优势在于长度可变**,你可以根据需要随时添加或删除元素,无需在创建时就确定其大小。

# 创建一个空列表my_list = []# 创建一个包含元素的列表fruits = [”apple”, ”banana”, ”cherry”]

2.1 打印与遍历打印一个列表会直接显示其所有元素。要逐个访问元素,最常用的方法是使用 for 循环。

fruits = [”apple”, ”banana”, ”cherry”]# 直接打印整个列表print(fruits)# 输出: ['apple', 'banana', 'cherry']# 使用for循环遍历并打印每个元素for fruit in fruits:    print(fruit)# 输出:# apple# banana# cherry

2.2 索引 (Indexing):精准定位列表是有序的,每个元素都有一个位置编号,称为索引。在Python中,索引从0开始。

  • fruits[0]
     访问第一个元素 "apple"
  • fruits[1]
     访问第二个元素 "banana"
  • fruits[2]
     访问第三个元素 "cherry"

你也可以结合 len() 函数(获取列表长度)和 range() 函数,通过索引来遍历列表,这在某些场景下非常有用。

fruits = [”apple”, ”banana”, ”cherry”]# 获取列表长度print(len(fruits))# 输出: 3# 通过索引遍历列表for i in range(len(fruits)):    print(f”索引 {i} 的元素是: {fruits[i]}”)

列表的“可变性”体现在一系列强大的增删改操作上。

  • 增 (Add)
    • append(element)
      : 在列表末尾添加一个元素。
    • insert(index, element)
      : 在指定索引位置插入一个元素,后续元素会自动后移。
  • 删 (Delete)
    • remove(element)
      : 删除列表中第一个匹配到的指定元素。
    • pop()
      : 移除并返回列表的最后一个元素(像一个弹出操作)。
  • 改 (Modify)
    • 直接通过索引赋值即可修改指定位置的元素,例如 fruits[0] = "pear"。
fruits = [”apple”, ”banana”, ”cherry”]# --- 增 ---fruits.append(”orange”)# 末尾添加print(fruits)# ['apple', 'banana', 'cherry', 'orange']fruits.insert(1, ”mango”)# 在索引1处插入print(fruits)# ['apple', 'mango', 'banana', 'cherry', 'orange']# --- 删 ---fruits.remove(”banana”)# 删除第一个”banana”print(fruits)# ['apple', 'mango', 'cherry', 'orange']last_fruit = fruits.pop()# 弹出最后一个元素print(last_fruit)# orangeprint(fruits)# ['apple', 'mango', 'cherry']# --- 改 ---fruits[0] = ”pear”# 修改索引0的元素print(fruits)# ['pear', 'mango', 'cherry']

如果说索引是“单点攻击”,那么切片就是“范围攻击”。它允许你从一个列表中提取出一个子列表。语法是 list[start:end],它会提取从 start 索引开始到 end 索引之前的所有元素(包含start,不包含end)。

  • numbers[1:4]
    : 提取索引1, 2, 3的元素。
  • numbers[::-1]
    : 一个非常酷的技巧!步长为-1,表示反向提取,可以轻松实现列表反转。
numbers = [0, 1, 2, 3, 4, 5]# 提取索引1到3的元素 (不包含索引4)sub_list = numbers[1:4]print(sub_list)# 输出: [1, 2, 3]# 反转列表reversed_list = numbers[::-1]print(reversed_list)# 输出: [5, 4, 3, 2, 1, 0]

Python为列表提供了许多便捷的内置方法,在数据处理和算法中非常常见。

  • count(value)
    : 统计某个元素在列表中出现的次数。
  • index(value)
    : 查找某个元素第一次出现的索引位置。
  • sort()
    : 对列表进行原地排序(直接修改原列表)。
  • sorted(list)
    : 返回一个排序后的新列表,不修改原列表。
nums = [3, 1, 4, 1, 5, 9, 2]# 统计print(nums.count(1))# 输出: 2 (数字1出现了两次)# 查找索引print(nums.index(4))# 输出: 2 (数字4第一次出现在索引2)# 排序 (原地排序)nums.sort()print(nums)# 输出: [1, 1, 2, 3, 4, 5, 9]# 降序排序nums.sort(reverse=True)print(nums)# 输出: [9, 5, 4, 3, 2, 1, 1]

列表是Python编程的基石,熟练掌握它的各种操作,是你迈向Python高手的第一步。课后不妨自己动手创建一个列表,尝试今天学到的所有方法,加深理解!

最新文章

随机文章