Skip to content

Latest commit

 

History

History
180 lines (116 loc) · 3.99 KB

094-763909-列表_有序列表_在指定位置插入_insert_弹栈_pop.sy.md

File metadata and controls

180 lines (116 loc) · 3.99 KB
show version enable_checker
step
1.0
true

列表 - 排序 - order

回忆

  • 上次我们了解了排序
    • 排序是在原列表上做的
    • 按照不同列表项类型排序
      • 字符串
        • 字符序号
        • 字符串长度
      • 数字型
        • 数字大小
    • 可以递增也可以递减
      • 参数reverse=True

图片描述

  • 排好序之后列表就是有序列表了
    • 向有序列表插入列表项就讲究位置了
  • 具体怎么插入呢?🤔

新插列表项

  • 如果列表已经排序
    • 再追加数据
    • 总是从最后插入
    • 还得再排序

图片描述

  • 我们可以在合适的位置插入吗?

手册

  • 查看手册

图片描述

  • 可以在指定索引之前插入
    • l = [0,3,6,9]
  • 应该在谁之前插入?

操作

  • 看起来是在6之前
    • 也就是索引位置 2之前
    • 插入和合适数值 5

图片描述

  • 可以把红框里面的东西合并吗?

合并

  • 嵌套调用
    • 很合适

图片描述

  • 如果有定点插入
    • 就应该有定点删除

定点删除

  • 这个函数叫做 pop
    • 来自于 stack 中的 push 和 pop
    • 原来指把 stack 栈最上方的元素弹出堆栈
    • 现在也可以指定列表中某个位置的元素进行删除

图片描述

  • 动手试试

删除

  • 指定删除第 2 个列表项
    • 第二个列表项为 3

图片描述

  • 删除成功

    • 并返回第二个列表项
  • 如果pop函数没有接收参数呢?

默认参数

图片描述

  • 默认参数是弹出最后一个

图片描述

pop弹栈

  • pop 最开始时拟声词

图片描述

  • 后来也指爆发的东西
    • 或者流行的东西
    • popular

图片描述

  • 计算机领域指的是弹出栈顶
    • pop

图片描述

列表的pop

  • 然后再pop()
    • 删除最后一个列表项
      • 最后一个也叫栈顶
      • index默认值是-1
      • 就是默认删除最后一个
      • 并将该列表项返回

图片描述

  • 删除成功
  • pop和remove有什么区别呢?

remove

  • pop 是按照位置删除列表项
    • 并返回列表项的值

图片描述

  • remove 是按照列表项的值删除列表项

    • 没有返回值
  • remove 和 pop

    • 都是 list 类的成员函数

成员函数

  • 这些函数第一个参数都是 self
    • 有必要这么啰嗦吗?

图片描述

  • python如何理解self呢?

self

  • self 其实指的就是调用函数的的对象

图片描述

  • 总共三点
    1. 明确这个方法是成员方法
      • 而不是局部变量
    2. 方便派生类拓展方法
    3. 可以让成员方法和局部变量分在不同命名空间

总结

  • 这次我们了解了定点插入
    • 相对原来的追加append
  • 排好序之后定点插入很有用
    • 定点插入insert
    • 定点删除pop

图片描述

  • 那么是否有排序的逆运算呢
    • 比如说乱序?🤔
  • 下次再说 👋