gpt4 book ai didi

python - "d.clear()"和 "d={}"之间的区别

转载 作者:太空狗 更新时间:2023-10-30 01:39:58 25 4
gpt4 key购买 nike

在我的机器上,d.clear()d={} 之间的执行速度超过 100 纳秒,所以很好奇为什么有人会使用其中一个。

import timeit

def timing():
d = dict()

if __name__=='__main__':
t = timeit.Timer('timing()', 'from __main__ import timing')
print t.repeat()

最佳答案

区别在于 d = {} 创建一个新字典,而 d.clear() 只是清空您已有的字典。如果您的代码中有其他地方保存对字典的引用,这种细微差别很重要。在第一种情况下,那些其他对象不会看到任何变化,因为您没有修改原始字典。以下代码显示了这种操作上的差异。

创建新字典:

>>> d = {'foo': 'bar'}
>>> d2 = d
>>> d = {}
>>> d2
{'foo': 'bar'}

清除现有字典:

>>> d = {'foo': 'bar'}
>>> d2 = d
>>> d.clear()
>>> d2
{}

关于python - "d.clear()"和 "d={}"之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2732550/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com