【发布时间】:2012-06-16 22:34:23
【问题描述】:
我正在寻找最有效的方法来表示 Python 中给定范围(例如 0-10)内的一小组整数。在这种情况下,效率意味着快速构建(从未排序的列表中)、快速查询(每组几个查询)和合理快速构建排序版本(可能每十组左右一次)。先验的候选人正在使用 Python 的内置集合类型(快速查询),使用排序数组(可能更快地构造?),或使用位数组(如果我在 C 中,一切都快......但我怀疑 Python 会高效(?))。有什么建议可以选择吗?
谢谢。
【问题讨论】:
-
任何只有 10 个元素的东西都会足够快。
-
如果我想构建数百万个它们怎么办? :-)
-
一亿个项目,如果它们是整数,则为 400mb,一些开销,你有大约 500mb 的内存。信封背面计算表明内置集合应该没问题
-
我的建议是保持简单,直到您发现您的解决方案不够快。不要过早优化。