oeasy Python 115 列表弹栈用pop删除指定索引

  • 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。

列表_删除指定列表项_弹栈_pop

回忆

  • 上次我们了解了
  • 定点插入 insert
  • 相对原来的 追加append
  • 排好序之后
  • 想要 保持有序
  • 需要 insert
  • ​定点​ 插入
  • 可以 ​定点​ 删除吗?
定点删除
  • 这方法
  • 按照索引 删除列表项
  • 名字 叫 pop
  • pop 啥意思?
pop
  • pop 最开始时拟声词
  • 后来也指爆发的东西
  • 或者流行的东西
  • popular
  • pop怎么用呢?
删除
  • 指定删除第 2 个列表项
  • 第2个列表项为 2

    nl = list(range(0, 5))
    print(nl)
    nl.pop(2)
    print(nl)

  • pop方法

  • 返回第2个列表项
  • 列表项 为 2
  • 删除成功
  • 这个方法 和 del关键字
  • 不是​一样​吗?
del
  • 删除索引为2的列表项

    nl = list(range(0, 5))
    print(nl)
    del nl[2]
    print(nl)

  • 可以删除

  • 甚至还可以切片删除

    del nl[-2:]
    nl

  • 切片删除成功

  • 有了 ​del​ 为啥还要有​pop​呢?
提问
  • 类型不同
  • del 是
  • 通用关键字
  • 不止删除 列表项和切片
  • pop 是
  • list类 的方法
默认参数
  • 如果pop方法 没有参数
  • ​如何​呢?

    nl = list(range(0, 5))
    print(nl)
    nl.pop()
    print(nl)

  • 默认参数 弹的是

  • ​最后一个​
  • default last
  • 为啥是​最后一个​
pop弹栈
复制代码
help(list.pop)
  • pop的 index参数
  • 默认值 是 -1
  • -1 不就是
  • 最后一项 的 索引 吗?!
  • 这 效果 叫
  • 弹栈
  • pop the stack
列表的pop
复制代码
nl = list(range(3))
nl
nl.pop()
nl
nl.pop()
nl
nl.pop()
nl
nl.pop()
nl
  • index 默认值 是 -1
  • 默认删 的是 最后一个
  • pop 和 remove
  • ​什么​区别呢?
返回值
复制代码
cl = list("oeasy")
cl
cl.pop(2)
cl
cl.remove("o")
cl
  • pop 按照位置删
  • 并返回列表项的值
  • remove 按照值删
  • 没有返回值
  • remove 和 pop
  • 都是 list类的 成员方法
删除的总结

|----------------|-------------|
| 方法/关键字 | 功能描述 |
| ​​remove()​​ | 删首个匹配指定值的项 |
| ​​pop()​​ | 删 指定索引 |
| ​​del​​ | 删 指定索引/切片范围 |
| ​​clear()​​ | 删列表所有项 |

  • 现在list 所有的方法 我们都见过了
list方法总结
  • 去总结吧
总结
  • 这次我们了解了
  1. 按索引 删除 pop
  • 按值删除 remove
  1. 按索引 定点插入 insert
  • 排好序 之后 可以​打乱​顺序吗?
  • 下次再说 👋
  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。
相关推荐
爱睡懒觉的焦糖玛奇朵7 小时前
【从视频到数据集:焦糖玛奇朵的魔法工具使用说明】
人工智能·python·深度学习·学习·算法·yolo·音视频
潜创微科技7 小时前
IT6520:USB‑C 转 MIPI 芯片方案 4K@120Hz 高清显示
c语言·开发语言
yangshicong8 小时前
第11章:结构化输出与数据提取 —— 让 AI 直接返回你想要的数据格式
数据库·人工智能·redis·python·langchain·ai编程
言之。8 小时前
【Python】免费的中文 AI 配音方案
开发语言·人工智能·python
Warson_L8 小时前
python dict key详解
python
天天进步20158 小时前
Python全栈项目:从零手操一个高性能 API 网关
开发语言·python
Java面试题总结8 小时前
java高频面试题(2026最新)
java·开发语言·jvm·数据库·spring·缓存
安生生申9 小时前
使用pygame实现2048
开发语言·python·pygame
hh.h.10 小时前
CANN算子开发入门:从零开始写第一个Ascend C算子
c语言·开发语言·cann·c算子
AI科技星10 小时前
全域数学·第三部·数术几何部·平行网格卷 完整专著目录(含拓扑发展史+学科定位·终稿)
c语言·开发语言·网络·量子计算·agi