【发布时间】:2010-10-06 22:19:06
【问题描述】:
在 Python 中编程时,是否可以为将填充已知数量项目的列表保留内存,以便在构建时不会多次重新分配列表?我查看了 Python 列表类型的文档,但没有找到任何似乎可以做到这一点的东西。但是,这种类型的列表构建会出现在我的代码的一些热点中,所以我想尽可能提高它的效率。
编辑:另外,用 Python 这样的语言做这样的事情是否有意义?我是一个相当有经验的程序员,但对 Python 很陌生,并且仍然对它的做事方式有所了解。 Python 是否在内部将 所有 对象分配到单独的堆空间中,从而违背了尝试最小化分配的目的,还是将 int、float 等原语直接存储在列表中?
【问题讨论】:
-
@ironfroggy:关键是这个出现在热点中。在这些地方,列表构建造成了现实世界的重大瓶颈,您应该优化这种瓶颈。
标签: python performance arrays memory-management list