【发布时间】:2010-10-06 13:07:53
【问题描述】:
基本上,我将数百万个 vector3 值存储在一个列表中。但是现在vector3s是这样定义的:
[5,6,7]
我认为这是一个列表。这些值不会被修改,我也不需要任何 vector3 功能。
这是最高效的方法吗?
【问题讨论】:
标签: python performance collections
基本上,我将数百万个 vector3 值存储在一个列表中。但是现在vector3s是这样定义的:
[5,6,7]
我认为这是一个列表。这些值不会被修改,我也不需要任何 vector3 功能。
这是最高效的方法吗?
【问题讨论】:
标签: python performance collections
如果您要存储数百万个,最好的方法(速度和内存使用)是使用numpy。
如果您想避免使用 numpy 并仅使用内置的 python 模块,使用元组而不是列表将节省一些开销。
【讨论】:
array 模块。
最好的方法可能是使用元组而不是列表。元组比列表快,并且一旦定义就不能修改。 http://docs.python.org/tutorial/datastructures.html#tuples-and-sequences
编辑:更具体地说,元组列表可能效果最好:[(4,3,2), (2,4,5)...]
【讨论】:
传统上,您会分析代码、发现瓶颈并根据需要处理它们。答案是“不,它可能不是最高效的方式”,但这真的很重要吗?它可能会,当它发生时,它可以被修复。
【讨论】: