上次了解了 list列表的 清空方法
clear
clear
前面要有 对象名
.(点)的意思是 里面的
可以把整个列表清空
就像清空回收站
clist = list("oeasy")clistclist.clear()
不想 全清空
定点删除 可以 吗?🤔
观察我们要找的是list的方法
lst = []lst.
你觉得哪个是呢?
help(list)
求助
这句话中的 first occurrence
是什么意思呢?
first occurrencefirst occurrence
先出现的
num_list = [0, 1, 2, 0]num_list
图中红框里面的元素
都不止出现一次
remove的是
第一次(first)出现(occurrence)的 value元素
要是想删除的 一次也没出现过呢?😊
Raises ValueErrornum_list = [0, 1, 2, 0]num_list.remove(3)
3 不在 num_list里面
所以就 Raises 了 ValueError
引发了 值错误
ValueError了
这个Error我们见过
ValueErrorValueError
int("oeasy")
无法将 oeasy 转化为 整型数字
list.remove 为什么抛出 ValueError呢?
ValueErrorlist.removehelp(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