python中清空字典的两种方法及其差异
Grey
python中清空字典的两种方法及其差异
- 方法1
dict_var = {}
- 方法2
dict_var.clear()
针对上面的两种方法,测试一下效果:
- 赋值法
dict_var1 = {1: 123, 2: 234, 'c': 'asd2'}
print(dict_var1)
dict_var1 = {}
print(dict_var1)
运行效果:
- 对象处理方法调用
dict_var1 = {1: 123, 2: 234, 'c': 'asd2'}
print(dict_var1)
dict_var1.clear()
print(dict_var1)
运行效果:
从效果看,两个效果一样。那么,两者的差异在哪里呢?接下来,针对这个做一个测试。
- 测试1:
dict_var1 = {1: 123, 2: 234, 'c': 'asd2'}
dict_var2 = dict_var1
dict_var1 = {}
print(dict_var1)
print(dict_var2)
运行效果:
- 测试2
dict_var1 = {1: 123, 2: 234, 'c': 'asd2'}
dict_var2 = dict_var1
dict_var1.clear()
print(dict_var1)
print(dict_var2)
运行效果: 从这个对比看,两者的效果其实不是等同的。
两者的差异究竟在哪里呢?其实,通过查看对象的地址可以看得出来,第一个方法存在一个新的对象创建的过程,而第二种方法是在原来的对象基础上进行修改。这就是两种字典清空方法的主要差异。