【发布时间】:2022-01-23 19:37:17
【问题描述】:
嗨,我不确定这是否与 python 中的垃圾收集有关,但我正在寻找一些关于它如何在后台工作的指导。 以下是我的程序的一部分。
def get_data():
templist = []
'''
does stuff to fill templist with newest data
'''
return templist
def save_data(new_list, old_list):
'''
loops to check for updates.
if update, write to file
'''
if not old_list:
for n in new_list:
write_file(n)
else:
for n, o in zip(new_list,old_list):
if n[1] != o[1]:
write_file(n)
return new_list
comparelist = []
while True:
newlist = get_data()
comparelist = (save_data(newlist, comparelist))
我检查了 id() 函数,newlist 每次都作为一个新对象传递给 newlist,然后传递给 comparelist(仍然是对 templist 的内存引用。
我的问题是这样的:
- 每一圈,不再使用的列表是否被销毁?
- 有没有更好的方法来做到这一点?
【问题讨论】:
-
真正的问题是:你在担心什么? Python 在进行垃圾回收时会删除一些东西,这可能随时发生。除非出现问题,否则您不应该在意。我已经 30 年不用关心了。
-
@frankYellin 你说得对,我想多了!
标签: python list garbage-collection