苦练Python第22天:11个必学的列表方法

苦练Python第22天:11个必学的列表方法

前言

大家好,我是倔强青铜三 。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

欢迎来到 100天Python挑战 的第22天!昨天你已学会创建和操作列表,今天我们将深挖 最常用却最常被误用的列表方法,让你的代码瞬间"Pythonic"起来。🐍


📦 今日秘籍

  • 核心列表方法:append()insert()remove()pop()sort()
  • 每个方法的真实业务场景
  • 何时用哪个?避坑指南
  • 最佳实践 + 常见错误一次说清

🔧 1. append()------末尾秒加元素

python 复制代码
fruits = ["apple", "banana"]
fruits.append("cherry")
print(fruits)  # ['apple', 'banana', 'cherry']

场景:购物车追加商品、日志追加最新记录。


📍 2. insert(index, item)------精准插队

python 复制代码
fruits.insert(1, "orange")
print(fruits)  # ['apple', 'orange', 'banana', 'cherry']

场景:待办清单把紧急任务置顶。


❌ 3. remove(value)------按值除名

python 复制代码
fruits.remove("banana")
print(fruits)  # ['apple', 'orange', 'cherry']

⚠️ 注意 :值不存在直接抛 ValueError,先判断或捕获。


🧹 4. pop(index=-1)------弹出并拿走

python 复制代码
last_item = fruits.pop()      # 默认弹末尾
print(last_item)              # 'cherry'

second_item = fruits.pop(1)   # 指定位置
print(second_item)            # 'orange'

场景 :实现栈(LIFO)或队列(配合 pop(0))。


🔄 5. clear()------一键清空

python 复制代码
fruits.clear()
print(fruits)  # []

场景:重置购物车、清空聊天记录。


🔄 6. sort()------原地升序

python 复制代码
numbers = [5, 2, 9, 1]
numbers.sort()
print(numbers)  # [1, 2, 5, 9]

降序只需:

python 复制代码
numbers.sort(reverse=True)

⚠️ 原地修改,原列表顺序永久改变。


🧪 7. sorted(iterable)------返回新排序副本

python 复制代码
nums = [4, 1, 7]
new_nums = sorted(nums)
print(new_nums)  # [1, 4, 7]
print(nums)      # [4, 1, 7] 原列表不动

场景:需要保留原数据做对比或回滚。


🔁 8. reverse()------原地反转

python 复制代码
nums = [1, 2, 3]
nums.reverse()
print(nums)  # [3, 2, 1]

📊 9. count(value)------出现次数统计

python 复制代码
names = ["Alice", "Bob", "Alice"]
print(names.count("Alice"))  # 2

🔍 10. index(value, start=0)------首次出现下标

python 复制代码
names = ["Alice", "Bob", "Alice"]
print(names.index("Bob"))  # 1

⚠️ 找不到直接抛 ValueError,可设 start 缩小搜索范围。


➕ 11. extend(iterable)------批量合并

python 复制代码
a = [1, 2]
b = [3, 4]
a.extend(b)
print(a)  # [1, 2, 3, 4]

+ 区别extend 原地修改,节省内存;+ 生成新列表。


💡 一图胜千言

方法 功能简述 是否修改原列表
append() 末尾追加单个元素 ✅ 是
insert() 指定位置插入 ✅ 是
remove() 按值删除首个匹配项 ✅ 是
pop() 按索引删除并返回元素 ✅ 是
clear() 清空所有元素 ✅ 是
sort() 原地排序 ✅ 是
sorted() 返回排序后新列表 ❌ 否
reverse() 原地反转 ✅ 是
count() 统计某值出现次数 ❌ 否
index() 返回某值首次出现的索引 ❌ 否
extend() 合并另一可迭代对象 ✅ 是

🧠 今日回顾

  • 掌握了11个高频列表方法,写出更紧凑、更高效的代码
  • 分清"原地修改"与"返回新对象",避免副作用
  • extend 代替 +,用 sorted 保留原数据,性能与可读性双赢

最后感谢阅读!欢迎关注我,微信公众号倔强青铜三。欢迎点赞收藏关注,一键三连!!!

相关推荐
PythonPioneer3 小时前
如何使用AI大语言模型解决生活中的实际小事情?
人工智能·语言模型·生活
阿雄不会写代码4 小时前
图像打标工具/方法的分类和特点说明
人工智能·分类·数据挖掘
tryCbest4 小时前
Python人工智能中scikit-learn模块的使用介绍
人工智能·python·scikit-learn
Akamai中国5 小时前
SharePlay确保最佳游戏体验
人工智能·云原生·云计算
智驱力人工智能6 小时前
工厂智慧设备检测:多模态算法提升工业安全阈值
人工智能·算法·安全·边缘计算·智慧工厂·智能巡航·工厂设备检测
qq_332539456 小时前
Python自动化测试实战:reCAPTCHA V3绕过技术深度解析
自动化测试·python·web安全·验证码破解·recaptcha
计算机sci论文精选7 小时前
ECCV 2024 论文解读丨具身智能、机器人研究最新突破创先点分享合集
人工智能·科技·深度学习·计算机视觉·机器人·cvpr
大模型真好玩7 小时前
深入浅出LangChain AI Agent智能体开发教程(八)—LangChain接入MCP实现流程
人工智能·python·mcp
R-G-B8 小时前
【15】OpenCV C++实战篇——fitEllipse椭圆拟合、 Ellipse()画椭圆
c++·人工智能·opencv·fitellipse椭圆拟合·ellipse画椭圆·椭圆拟合·绘制椭圆
lll482338 小时前
opencv颜色识别项目:识别水果
人工智能·opencv·计算机视觉