pin_drop当前位置:知识文库 ❯ 图文
Python列表clear方法
概述
clear() 方法用于清空列表中的所有元素,使列表变为空列表。它是一种高效的重置列表方式,与重新赋值空列表有细微差别。
语法
代码示例
list.clear()返回值:None(原地修改列表)
基本用法
代码示例
fruits = ["apple", "banana", "cherry"]
fruits.clear()
print(fruits)
print(len(fruits))输出:
代码示例
[]
0clear 与其他清空方式对比
代码示例
a = [1, 2, 3]
b = a
a.clear()
print("a:", a)
print("b:", b)输出:
代码示例
a: []
b: []提示:
clear()是原地操作,所有指向同一列表的引用都会看到空列表。
代码示例
a = [1, 2, 3]
b = a
a = []
print("a:", a)
print("b:", b)输出:
代码示例
a: []
b: [1, 2, 3]提示:
a = []创建了新列表对象,b仍然指向原列表。
常见应用场景
重置数据
代码示例
cache = [1, 2, 3, 4, 5]
cache.clear()
print("缓存已清空:", cache)输出:
代码示例
缓存已清空: []循环中重用列表
代码示例
results = []
for round_num in range(1, 4):
results.clear()
for i in range(3):
results.append(i * round_num)
print(f"第{round_num}轮: {results}")输出:
代码示例
第1轮: [0, 1, 2]
第2轮: [0, 2, 4]
第3轮: [0, 3, 6]注意事项
⚠️ 原地修改:
clear()是原地操作,所有引用同一列表的变量都会受影响。
⚠️ 返回 None:不要写成
list = list.clear(),否则变量会变成None。
⚠️ 清空 vs 删除:
clear()清空内容但保留列表对象,del list则删除整个变量。
小结
clear() 原地清空列表,返回
None所有指向同一列表的引用 都会看到空列表
与 = [] 的区别:
clear()是原地操作,= []创建新对象适合在循环中 重用列表对象
练习题
练习1
给定两个变量 a = [1, 2, 3] 和 b = a,分别使用 a.clear() 和 a = [] 两种方式清空列表,观察 b 的变化有何不同。
练习2
编写一个函数 reset_data(data_dict),接收一个字典,其值为列表。将字典中所有列表清空,但保持字典的键不变。例如 {"a": [1,2], "b": [3,4]} → {"a": [], "b": []}。
常见问题
clear() 和 lst = [] 有什么区别?
clear() 是原地操作,清空列表内容但保留原列表对象,所有引用该列表的变量都会看到空列表;lst = [] 则是创建一个全新的空列表对象并赋值给变量,其他引用原列表的变量不受影响。
clear() 方法的返回值是什么?
clear() 返回 None。这是一个原地修改方法,不要写成 lst = lst.clear(),这样会导致变量变成 None 而不是空列表。正确的用法是直接调用 lst.clear()。
有哪些方式可以清空列表?
常见的清空方式有:lst.clear()(原地清空,推荐)、del lst[:](原地清空)、lst *= 0(原地清空)、lst = [](创建新列表)。前三种是原地操作,会影响所有引用;最后一种创建新对象,不影响其他引用。
本文涉及AI创作
内容由AI创作,请仔细甄别