列表_清空列表_clear
回忆
- 上次了解了
- append
- 追加
- 还有什么 方法呢?🤔
喊救命
list.
- append之后是?
查看帮助
- 后面是clear
help(list.clear)
- 清空列表中所有列表项
- 只有一个 参数是 self
- self是什么?
self
- self就是自己
- 谁自己?
调用
- 谁调用clear
- 就是谁自己
谁
调用的 clear?
nlist = [0, 1, 2] nlist.clear() nlist
类
- nlist 调用
- 所以 self 就是 nlist对象自己
- nlist被清空了
- nlist 是 啥?
喊救命
- 对着 nlist 喊 救命(help)
help(nlist)
- nlist 是一个
- 列表类 的 实例对象
- 什么 是 列表类 呢??
汽车类
- 先回忆 什么是 类?
- 类
- 是一种 抽象的 数据类型
- 比如说 汽车类(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 作为第一个参数
- append 和 clear
- 都是 list这个列表类的 成员方法
- member method
- 通过 实例对象 来调用
- append
- name_list.append("o4z")
- clear
- name_list.clear()
- .(点)的意思是
里面的
- 列表 为啥 要清空 ?
清空clear
- disney 发布一个 周边
- 引发 大量人 排队
- 形成列表
- 周边 卖没了
- 后面的人 排队 也买不着了
- 列表 只能 清空 了
people_list.clear()
- clear 是
- 可以清空列表
- 是 list列表类的 成员方法
- 可以有什么实际应用吗?
收银员累加程序
- 我们想做一个收银员的程序
ai辅助
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结束程序
- lst.clear()和 lst = [ ]
- 有区别吗?
区别
- 单个列表 看不出 区别
- 两个列表 就有区别了
l1 = [0, 1, 2] l2 = l1 l2.clear() l1 l2
- 首先定义 l1、l2是两个列表对象
- 列表对象l1调用clear函数之后
- l1、l2都清空了
另一种情况
l1 = [0, 1, 2] l2 = l1 l2 = [] l1 l2
- 还是这两个列表对象
- 将空列表[ ] 赋给 l2
- l1 不会受到影响
- 为什么会不一样呢?
将l2清空
l1 = [1, 2, 3] l2 = l1 l2.clear() print(l1, l2)
- 将l1赋给l2
- 两个列表对象 引用着 同一地址
- l2 清空就是
- l1 清空
通过id观察
l1 = [1, 2, 3] l2 = l1 id(l1), id(l2) l2.clear() id(l1), id(l2)
- 这两个列表对象
- 地址始终没有变化
- 一直指向同一个位置
- 所以清空一个
- 另一个所指向的地址不变
- 也清空了
将空列表赋给l2
- 回到pythontutor
l1 = [1, 2, 3] l2 = l1 l2 = [] print(l1, l2)
- 将l1赋给l2
- 两个列表对象指向同一地址
- 将空列表[]赋给l2
- l2 地址变了
- l1 地址没变
- 还是原来的
通过id观察
l1 = [0, 1, 2] id(l1) l2 = l1 id(l2) l2 = [] id(l1), id(l2)
- 通过id函数得到列表的地址
- 将空列表赋给l2
- 让l2指向一个空列表的地址
- 是一个新地址
- 和l1那个地址就没关系了
总结一下 新单词
单词 | 单词含义 | 描述 |
list |
列表 | 内建可变序列 |
append |
追加 | list 的方法 用于在列表的末尾添加一个元素 |
clear |
清空 | list 的方法 清空列表 |
function |
函数 | 独立的代码块 可以直接调用 |
method |
方法 | 与对象相关联的函数 需要通过对象来调用 |
总结
- 这次了解了 list列表的 清空方法
- clear
- clear
- 前面要有 对象名
- .(点)的意思是 里面的
- 可以把整个列表清空
- 就像清空回收站
clist = list("oeasy") clist clist.clear()
- 不想
全
清空
定点删除
可以 吗?🤔