python在使用python的数据结构时有很大的开销吗?

2024-03-28 17:34:41 发布

您现在位置:Python中文网/ 问答频道 /正文

与C等非脚本语言相比,python广泛使用了数据结构,如List、Set、Dictionary或任何与动态内存相关的数据结构。你知道吗

然而,据我所知,所有这些数据结构都是在堆内存中分配的。此外,在这些数据结构中,在python应用程序中经常使用追加和删除,这可能类似于频繁使用C的malloc、free或调整malloc的大小。你知道吗

似乎所有这些行动都会造成巨大的开销。你知道吗

python对此是否使用特殊优化?或者它不会产生开销吗?你知道吗


Tags: 内存应用程序free数据结构dictionary脚本语言listset
1条回答
网友
1楼 · 发布于 2024-03-28 17:34:41

在Python中(就像在许多其他语言的标准库中一样),这些动态数据结构的实现方式是将内存分配的成本分摊到追加和删除的重复调用中。因此,例如,一个列表根据其大小按比例过度分配内存,如implementation中所述。你知道吗

相关问题 更多 >