Skip to content

Latest commit

 

History

History
302 lines (201 loc) · 5.37 KB

File metadata and controls

302 lines (201 loc) · 5.37 KB
Error in user YAML: (<unknown>): found a tab character that violate indentation while scanning a plain scalar at line 3 column 3
---
- oeasy Python 0089
- 这是 oeasy 系统化 Python 教程,从基础一步步讲,扎实、完整、不跳步。愿意花时间学,就能真正学会。
- 本教程同步发布在: 
	- 个人网站: `https://oeasy.org` 
	- 蓝桥云课: `https://www.lanqiao.cn/courses/3584` 
	- GitHub: `https://github.com/overmind1980/oeasy-python-tutorial` 
	- Gitee: `https://gitee.com/overmind1980/oeasypython` 
---

列表_删除列表项_remove_列表长度_len

回忆

  • 配套视频
  • 上次了解了 list列表的 清空方法
    • clear
  • clear
    • 前面要有 对象名
    • .(点)的意思是 里面的
    • 可以把整个列表清空
    • 就像清空回收站

图片描述

clist = list("oeasy")
clist
clist.clear()
  • 不想 清空
    • 定点删除 可以 吗?🤔

观察

  • 我们要找的是list的方法
lst = []
lst.
  • 你觉得哪个是呢?

图片描述

查找文档

help(list)
  • 求助

图片描述

  • 这句话中的 first occurrence
    • 是什么意思呢?

first occurrence

  • first occurrence
    • 先出现的
num_list = [0, 1, 2, 0]
num_list
  • 图中红框里面的元素
    • 都不止出现一次

图片描述

  • remove的是
    • 第一次(first)出现(occurrence)的 value元素
  • 要是想删除的 一次也没出现过呢?😊

Raises ValueError

num_list = [0, 1, 2, 0]
num_list.remove(3)
  • 3 不在 num_list里面
    • 所以就 Raises 了 ValueError
    • 引发了 值错误

图片描述

  • ValueError了
    • 这个Error我们见过

ValueError

  • ValueError
int("oeasy")
  • 无法将 oeasy 转化为 整型数字

图片描述

  • list.remove 为什么抛出 ValueError呢?

ValueError

list.remove
help(list.remove)
  • 不能 删除(remove)
    • 列表中 不存在的元素

图片描述

  • remove什么意思呢?

remove

  • 向ai提问

图片描述

  • 把已经move进列表的 列表项

    • remove 出列表
  • 可以向 列表中 追加(append)

    • 已经存在的元素吗?

同样元素

name_list = ['oeasy', 'o2z', 'o3z', 'o4z']
  • 再 append 字符串oeasy

图片描述

  • 追加 同样元素
    • 是允许的
  • 两个 oeasy
    • 一个在头一个在尾
    • 怎么删呢?

查找

  • help(list)
    • /remove

图片描述

  • 我们可以看到 remove

    • 第一个参数也是 self
    • 说明remove是一个成员方法
  • 这个方法就一个参数

    • 就是 value

删除

  • 两个重名的列表项会删除哪个呢?

图片描述

  • 帮助手册说

    • 会删除 出现的
    • first occurrence
  • 如果 列表有 上万个 列表项

    • 一个一个地 从头捋到尾 吗?

最坏的情况

  • 确实需要 挨个捋

图片描述

  • 挨个捋一遍
    • 会消耗 多少时间 呢?

时间复杂度

  • 大列表 删除的时候
    • 需要注意

图片描述

  • 什么是 O(n) 呢?

O(n)

  • 挨个问一遍
    • 需要的时间 和列表长度n 成
    • 也被称作 O(n)

图片描述

  • 大O表示法

    • Big O Notation
    • 时间复杂度表示方法
    • 横轴 空间
    • 纵轴 是 时间
  • 想一把 将列表 清个干净 💢

查找

help(list.clear)
  • self 说明这是 list 类的成员方法
    • 这个方法没有参数

图片描述

  • 直接就清空

图片描述

  • 真的都删了
    • 只剩一对方括号
    • 里面什么也没有
  • 现在的 name_list 是个什么?

空列表

len(name_list)
  • 删空了的列表
    • 里面啥都没有

图片描述

  • 这个列表的长度(length)为0
    • 真的空了...
    • 成了 空列表
  • 空了之后 我还想再删除某元素
    • 会如何?

不存在的

  • 删除一个不存在的
    • 那就报错了

图片描述

  • 我们去建立一些
    • 更有意义的列表

购物清单

  • 一个购物清单
    • shopping_list

图片描述

  • 新建了一个空列表
    • 就是一对方括号
    • 名字叫做 shopping_list

图片描述

新建

图片描述

shopping_list = ["健康", "关系", "自我实现", "快乐", "经历"]
  • 购物清单里面 东西太多了
    • 要 一个一个删除
  • 先删哪个呢?
    • 抉择的过程

总结

  • 这次 学习了 list的新方法
    • remove 删除
    • 需要把被删除的列表项 作为参数

图片描述

  • 有没有快速 生成列表的方法呢?
  • 下次再说 👋
  • 配套视频

  • 本文来自 oeasy Python 系统教程。
  • 想完整、扎实学 Python,
  • 搜索 oeasy 即可。