列表_清空列表_clear 回忆
-
上次了解了
-
append
-
追加
添加图片注释,不超过 140 字(可选)
-
还有什么 方法呢?🤔
喊救命 list.
-
append之后是?
添加图片注释,不超过 140 字(可选)
查看帮助
-
后面是clear
help(list.clear)
-
清空列表中所有列表项
添加图片注释,不超过 140 字(可选)
-
只有一个 参数是 self
-
self是什么?
self
-
self就是自己
添加图片注释,不超过 140 字(可选)
-
谁自己?
调用
-
谁调用clear
-
就是谁自己
-
谁 调用的 clear?
nlist = [0, 1, 2] nlist.clear() nlist 类
-
nlist 调用
-
所以 self 就是 nlist对象自己
添加图片注释,不超过 140 字(可选)
-
nlist被清空了
-
nlist 是 啥?
喊救命
-
对着 nlist 喊 救命(help)
help(nlist)
-
nlist 是一个
-
列表类 的 实例对象
添加图片注释,不超过 140 字(可选)
-
什么 是 列表类 呢??
汽车类
-
先回忆 什么是 类?
添加图片注释,不超过 140 字(可选)
-
类
-
是一种 抽象的 数据类型
-
比如说 汽车类(car class)
-
这辆吉普车 是
-
隶属于汽车类(car class)的
-
实例对象 this_jeep
-
this_jeep 可以调用自己的成员方法
-
this_jeep.start_engine()
-
this_jeep.accelerate(speed)
-
this_jeep.brake()
-
this_jeep.turn(direction)
具体代码
-
列表类 就是 一种抽象类型
-
内建的 可变 序列
-
builtin mutable sequence
-
append 和 clear 都是 list类 的 成员方法
-
都有self 作为第一个参数
添加图片注释,不超过 140 字(可选)
-
append 和 clear
-
都是 list这个列表类的 成员方法
-
member method
-
通过 实例对象 来调用
-
append
-
name_list.append("o4z")
-
clear
-
name_list.clear()
-
.(点)的意思是里面的
-
列表 为啥 要清空 ?
清空clear
-
disney 发布一个 周边
-
引发 大量人 排队
-
形成列表
-
周边 卖没了
-
后面的人 排队 也买不着了
-
列表 只能 清空 了
people_list.clear()
-
clear 是
-
可以清空列表
-
是 list列表类的 成员方法
添加图片注释,不超过 140 字(可选)
-
可以有什么实际应用吗?
收银员累加程序
添加图片注释,不超过 140 字(可选)
-
我们想做一个收银员的程序
ai辅助
添加图片注释,不超过 140 字(可选)
while True: numbers = [] while True: num = input("请输入商品价格(输入end停止输入):") if num == "end": break try: num = float(num) numbers.append(num) except ValueError: print("输入不合法,请输入有效的浮点数或end。") total = sum(numbers) print(f"本次输入的数字总和为:{total}")
-
这里面 每次重新 累加
-
先将 空列表 赋给了 numbers
运行结果
-
输入end进行求和
-
输入ctrl+c结束程序
添加图片注释,不超过 140 字(可选)
-
lst.clear()和 lst = [ ]
-
有区别吗?
区别
-
单个列表 看不出 区别
-
两个列表 就有区别了
l1 = [0, 1, 2] l2 = l1 l2.clear() l1 l2
-
首先定义 l1、l2是两个列表对象
-
列表对象l1调用clear函数之后
-
l1、l2都清空了
添加图片注释,不超过 140 字(可选)
另一种情况 l1 = [0, 1, 2] l2 = l1 l2 = [] l1 l2
-
还是这两个列表对象
-
将空列表[ ] 赋给 l2
-
l1 不会受到影响
添加图片注释,不超过 140 字(可选)
-
为什么会不一样呢?
将l2清空
l1 = [1, 2, 3] l2 = l1 l2.clear() print(l1, l2)
-
将l1赋给l2
-
两个列表对象 引用着 同一地址
添加图片注释,不超过 140 字(可选)
-
l2 清空就是
-
l1 清空
添加图片注释,不超过 140 字(可选)
通过id观察 l1 = [1, 2, 3] l2 = l1 id(l1), id(l2) l2.clear() id(l1), id(l2)
-
这两个列表对象
-
地址始终没有变化
-
一直指向同一个位置
添加图片注释,不超过 140 字(可选)
-
所以清空一个
-
另一个所指向的地址不变
-
也清空了
将空列表赋给l2
l1 = [1, 2, 3] l2 = l1 l2 = [] print(l1, l2)
-
将l1赋给l2
-
两个列表对象指向同一地址
添加图片注释,不超过 140 字(可选)
-
将空列表[]赋给l2
-
l2 地址变了
添加图片注释,不超过 140 字(可选)
-
l1 地址没变
-
还是原来的
通过id观察 l1 = [0, 1, 2] id(l1) l2 = l1 id(l2) l2 = [] id(l1), id(l2)
-
通过id函数得到列表的地址
添加图片注释,不超过 140 字(可选)
-
将空列表赋给l2
-
让l2指向一个空列表的地址
-
是一个新地址
-
和l1那个地址就没关系了
总结一下 新单词
单词 | 单词含义 | 描述 |
---|---|---|
list | 列表 | 内建可变序列 |
append | 追加 | list的方法 |
clear | 清空 | list 的方法 |
function | 函数 | 独立的代码块 |
method | 方法 | 与对象相关联的函数 |
总结
-
这次了解了 list列表的 清空方法
-
clear
-
clear
-
前面要有 对象名
-
.(点)的意思是 里面的
-
可以把整个列表清空
-
就像清空回收站
添加图片注释,不超过 140 字(可选)
clist = list("oeasy") clist clist.clear()
-
不想 全清空
-
定点删除 可以 吗?🤔