pin_drop当前位置:知识文库 ❯ 图文
Python字典clear()方法
概述
clear() 方法用于清空字典中的所有键值对,使字典变为空字典。它是一种高效的重置字典方式,与重新赋值空字典有细微差别。
语法
代码示例
dict.clear()
返回值:None(原地修改字典)
基本用法
代码示例
person = {"name": "Alice", "age": 25, "city": "Beijing"}
person.clear()
print(person)
print(len(person))输出:
代码示例
{}
0clear 与其他清空方式对比
代码示例
a = {"x": 1, "y": 2}
b = a
a.clear()
print("a:", a)
print("b:", b)输出:
代码示例
a: {}
b: {}提示:
clear()是原地操作,所有引用同一字典的变量都会看到空字典。
代码示例
a = {"x": 1, "y": 2}
b = a
a = {}
print("a:", a)
print("b:", b)输出:
代码示例
a: {}
b: {'x': 1, 'y': 2}提示:
a = {}创建了新字典对象,b仍然指向原字典。
常见应用场景
重置缓存
代码示例
cache = {"user1": "data1", "user2": "data2"}
cache.clear()
print("缓存已清空:", cache)循环中重用字典
代码示例
results = {}
for i in range(3):
results.clear()
results[f"key_{i}"] = i * 10
print(f"第{i}次: {results}")输出:
代码示例
第0次: {'key_0': 0}
第1次: {'key_1': 10}
第2次: {'key_2': 20}注意事项
提示:原地修改:
clear()是原地操作,所有引用同一字典的变量都会受影响。
提示:返回 None:不要写成
d = d.clear(),否则变量会变成None。
提示:清空 vs 删除:
clear()清空内容但保留字典对象,del d则删除整个变量。
小结
-
clear()原地清空字典,返回None -
所有指向同一字典的引用都会看到空字典
-
与
= {}的区别:clear()是原地操作,= {}创建新对象 -
适合在循环中重用字典对象
常见问题
clear() 和 d = {} 有什么区别?
clear() 是原地清空,所有引用同一字典的变量都会看到空字典。d = {} 创建了新字典对象,其他引用不受影响。
clear() 返回值是什么?
clear() 返回 None,它是原地修改字典的方法。不要写成 d = d.clear(),否则 d 会变成 None。
clear() 和 del 有什么区别?
clear() 清空字典内容但保留字典对象,del 则删除整个字典变量。clear() 后字典仍可使用,del 后变量不存在了。
什么场景下应该使用 clear()?
在循环中重用字典对象、重置缓存、或者需要通知其他引用该字典已清空时,应使用 clear()。
练习1
给定两个变量 a = {"x": 1} 和 b = a,分别使用 a.clear() 和 a = {} 两种方式清空字典,观察 b 的变化有何不同。
练习2
编写一个函数 reset_nested(d),递归清空嵌套字典中所有层级的键值对。例如 {"a": 1, "b": {"c": 2, "d": {"e": 3}}} 清空后应为 {"b": {}}(只保留嵌套的空字典结构)。
本文涉及AI创作
内容由AI创作,请仔细甄别