列表_删除列表项_remove_列表长度_len 回忆
- 上次了解了 list列表的 清空方法
- clear
- clear
- 前面要有 对象名
- .(点)的意思是 里面的
- 可以把整个列表清空
- 就像清空回收站
clist = list("oeasy") clist clist.clear()
观察
lst = [] lst.
查找文档 help(list)
- 这句话中的 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
int("oeasy")
- list.remove 为什么抛出 ValueError呢?
ValueError list.remove help(list.remove)
- 不能 删除(remove)
- 列表中 不存在的元素
- ❌
remove
- 把已经move进列表的 列表项
- remove 出列表
- 可以向 列表中 追加(append)
- 已经存在的元素吗?
同样元素 name_list = 'oeasy', 'o2z', 'o3z', 'o4z'
- 追加 同样元素
- 是允许的
- 两个 oeasy
- 一个在头一个在尾
- 怎么删呢?
查找
- 我们可以看到 remove
- 第一个参数也是 self
- 说明remove是一个成员方法
- 这个方法就一个参数
- 就是 value
删除
- 帮助手册说
- 会删除 先 出现的
- first occurrence
- 如果 列表有 上万个 列表项
- 一个一个地 从头捋到尾 吗?
最坏的情况
时间复杂度
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 = "健康", "关系", "自我实现", "快乐", "经历"
- 购物清单里面 东西太多了
- 要 一个一个删除
- 先删哪个呢?
- 抉择的过程
总结
- 这次 学习了 list的新方法
- remove 删除
- 需要把被删除的列表项 作为参数