列表_删除列表项_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 删除
- 需要把被删除的列表项 作为参数
- 有没有快速 生成列表的方法呢?
- 下次再说 👋
- 蓝桥->https://www.lanqiao.cn/courses/3584
- github->https://github.com/overmind1980/oeasy-python-tutorial
- gitee->https://gitee.com/overmind1980/oeasypython