首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将百万条python列表理解的成本从5秒减少到1秒

如何将百万条python列表理解的成本从5秒减少到1秒
EN

Stack Overflow用户
提问于 2013-04-27 10:52:23
回答 2查看 115关注 0票数 0

现在我们的代码有3,000,000个id存储在set中,格式是string,我尝试使用列表理解将其转换为int。但是它花费了5秒,我如何才能降低这300万id将字符串转换为int的成本呢?

下面是我的测试代码:

代码语言:javascript
复制
import random
import time


a = set()
for i in xrange(3088767):
    a.add(str(random.randint(10005907, 100000000)))

start = time.time()
ld = [int(i) for i in a]
end = time.time()
print end-start

结果是:

代码语言:javascript
复制
$python  -V
Python 2.6.5
$python  ld.py
5.53777289391
EN

回答 2

Stack Overflow用户

发布于 2013-04-27 10:53:34

代码语言:javascript
复制
ld = map(int, a)

应该相当快,而且也是您不考虑其他python实现的唯一选择。

票数 5
EN

Stack Overflow用户

发布于 2013-04-27 10:57:43

尝试使用PypyCython

这些工具可以让你的代码飞起来!( Pypy,特别是在我的PC中,Pypy将代码速度提高了4倍。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16247828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档