【Python 学习第 58 天】列表方法

【Python 学习第 58 天】列表方法

学习日期:2026-11-14

知识点:列表方法

难度:0.54

一、今日知识点

今天学习的是 列表方法。

列表方法是 Python 列表对象内置的函数,用于增删改查和排序等操作。常用方法包括 append(末尾添加)、insert(指定位置插入)、remove(删除第一个匹配值)、pop(按索引删除并返回)、sort(原地排序)等。注意大多数方法会直接修改列表且返回 None,例如 sort() 返回 None,不要写成 list = list.sort()。示例:nums = 3, 1, 2;

二、详细解析

概念说明

列表(list)是 Python 中最常用的容器之一,而"列表方法"就是列表对象自带的函数,专门用来对列表本身做增、删、改、查、排序等操作。你可以把它理解为列表的"遥控器":不用自己写循环,直接调用方法就能完成常见操作,代码更短、更清晰。

需要特别记住一点:大多数列表方法是原地修改 列表,并且返回值是 None。也就是说,方法改的是原列表,而不是生成一个新列表。理解这一点,能避免很多"为什么打印出来是 None"的困惑。

语法与用法

核心语法都是"列表.方法名(参数)"的形式:

  • lst.append(x):在末尾追加一个元素。
  • lst.insert(i, x):在下标 i 处插入元素 x,原位置及之后的元素后移。
  • lst.remove(x):删除第一个值为 x 的元素;不存在会报错。
  • lst.pop(i):删除并返回下标 i 的元素;不写参数默认删最后一个。
  • lst.sort():原地升序排序;lst.sort(reverse=True) 为降序。
  • lst.reverse():原地反转列表顺序。
  • lst.index(x):返回第一个 x 的下标。
  • lst.count(x):统计 x 出现次数。

访问元素用下标:lst[0] 是第一个,lst[-1] 是最后一个。

示例代码

python 复制代码
# 示例 1:增删改查基本操作
nums = [3, 1, 2]
nums.append(4)        # 末尾添加 4 -> [3, 1, 2, 4]
nums.insert(1, 9)     # 在下标 1 处插入 9 -> [3, 9, 1, 2, 4]
nums.remove(1)        # 删除第一个值为 1 的元素 -> [3, 9, 2, 4]
last = nums.pop()     # 删除并返回最后一个元素 -> last 为 4
print(nums)           # [3, 9, 2]
print(last)           # 4
python 复制代码
# 示例 2:原地排序与访问最后一个元素
scores = [5, 2, 8, 1]
result = scores.sort()   # 原地升序排序,返回 None
print(scores)            # [1, 2, 5, 8]
print(result)            # None,说明 sort 不返回新列表

a = [10, 20, 30, 40]
print(a[-1])             # 40,负下标取最后一个元素
print(a[len(a) - 1])     # 40,等价写法

常见坑

  1. 把排序结果赋值回去 :nums = nums.sort() 会让 nums 变成 None,因为 sort() 原地排序且返回 None。正确写法是直接 nums.sort()。
  2. remove 与 pop 混淆 :remove(x) 按"值"删除第一个匹配项;pop(i) 按"下标"删除并返回。传错参数会报错或删错元素。
  3. 插入位置理解偏差 :insert(1, 9) 是把 9 放到下标 1 的位置,原下标 1 的元素及其后元素整体后移,而不是"插到第 1 个元素之后"的模糊理解。

小结

列表方法是对原列表进行原地操作的便捷工具,记住"多数方法返回 None、改的是原列表",并区分按值删除与按下标删除,就能避开大部分初学陷阱。

三、今日练习

第 1 题 ✅

题目: 执行以下代码后,列表 lst 的值是什么?

lst = 1, 2, 3

lst.insert(1, 9)

print(lst)

  • 我的答案:B

第 2 题 ✅

**题目:**补全代码:已有列表 nums = 5, 2, 8, 1,请使用列表方法将其按升序排序,并输出排序后的列表。

nums = 5, 2, 8, 1


print(nums)

  • 我的答案:nums.sort()

第 3 题 ✅

**题目:**已知列表 a = 10, 20, 30, 40,以下哪个表达式可以获取列表的最后一个元素 40?

  • 我的答案:B

四、今日总结

  • 题目数量:3
  • 答对:3
  • 正确率:100%

本文由个人 Python 学习智能体自动生成

相关推荐
DeepVisionary11 分钟前
Runway开源机器人大模型Praxis-1,推演延迟压到62毫秒
python·自动化
Cooper252 小时前
DDC 命令成功但屏幕不动:用 gamma 表重做亮度映射
python·mac
师夷长技以自愈2 小时前
手搓 AI Agent 第 7 篇:菜做砸了别硬炒——错误分类 + 双账本熔断
人工智能·python
用户956256254292 小时前
15 分钟社媒简报 Agent:我只用了搜索和模型两步
python·api
Dumbness2 小时前
关键词回复里写了 {订单号},群机器人整条消息都炸了
python·微信
调接口的阿光2 小时前
调用对话接口时输出被截断怎么办:先看 finish_reason,再决定是续写一次、缩小范围,还是换成更短的格式(Python)
人工智能·python
Cooper252 小时前
单文件 Flask 跑通微信服务器校验:先跑通再谈工程化
python·flask
Cooper252 小时前
三源热榜去重加 AI 摘要:URL 唯一键踩出的三个坑
前端·python
用户4019925568613 小时前
多源异构 B2B 公开需求信号去重与企业实体证据链存储设计(64-bit SimHash 分桶 + Jaccard)
python