我有一个巨大的字符串元组,它们是从程序返回的。返回的示例元组如下所示:('(-1,0)', '(1,0)', '(2,0)', '(3,0)', '(4,0)', '(5,0)', '(6,0)')
我可以把这些字符串转换成实数元组(里面有整数),但我希望有人知道一个很好的技巧来加速这个过程。我想出的任何东西都让人觉得我是在用一种相对“慢”的方式来做。正如我所提到的,这些名单可能很大,所以一个快速的方法将不胜感激!在
谢谢
编辑一个
好吧,看来eval是一种比较慢的方法。但到目前为止,我已经测试了4种方法,谢谢你的评论和意见!:)
还有人问我的元组大小。它的范围从几个到希望不超过几百万。不是“太”大,但足够大,速度是一个重要因素。我不是来做微优化的,只是学习我可能不知道的任何新的妙招。例如,eval()是我经常忘记的东西,尽管在这个例子中它似乎做得不太好。在
编辑两个
我还想指出,字符串格式不应该更改。所以不需要检查格式。另外,这是一个嵌入式pythonv2.6.2,因此任何需要的2.6都可以。3.0另一方面,不是那么多;)
再次感谢大家的投入:)
编辑3
又一个音符。我注意到我返回的代码没有生成“tuple”,这是可以的,如果有人认为最终结果“had”是tuple,那么很抱歉。类似的格式也可以。在
^{pr2}$
结果:Timeit timeit_a: 15.8954099772
Timeit timeit_a_1: 18.5484214589
Timeit timeit_b: 15.3137666465
Timeit timeit_b_1: 17.8405181116
Timeit timeit_c: 91.9587832802
Timeit timeit_d: 89.8858157489
Timeit timeit_e: 20.1564312947