gpt4 book ai didi

python - 完全删除python中的列表

转载 作者:行者123 更新时间:2023-11-28 22:34:17 26 4
gpt4 key购买 nike

我正在使用 python 2,并尝试删除两个列表。这是代码:

test_data1 = [img for img in glob.glob("/location/of/images/*png")]
test_data0 = [img for img in glob.glob("/location/of/other_images/*png")]
test_data = test_data1 + test_data0

每个图像列表都包含数百万个文件名,因此我宁愿在创建 test_data 列表后删除不必要的列表。只是为了让代码“更容易”让计算机运行。

我该怎么做?

我发现了几种不同的方法,但没有任何一种方法涉及内存问题。我不确定 test_data1=[] 是否真的从内存中完全删除了列表。

而且我担心 test_data = test_data1 + test_data0 行只组合了列表的哈希值,当我删除这两个列表时,test_data 也变空了。

那么..正确的方法是什么?

非常感谢您的帮助!对不起,如果英语不好,我不是母语人士:P

谢谢!

最佳答案

您可以使用列表串联来消除对中间列表的需要

test_data = []
test_data += [img for img in glob.glob("/location/of/images/*png")]
test_data += [img for img in glob.glob("/location/of/other_images/*png")]

此外,我不确定您的程序的总体设计是什么,但出于这个原因,Python 中倾向于使用迭代器/生成器而不是列表。您必须同时保留在内存中的越少越好。看看您是否可以重新设计您的程序,使其只是动态迭代而不是构建这个大列表。

关于python - 完全删除python中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39104917/

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