元组python将1变成壹_将“(1,0)”转换为元组(1,0)的最快方法?

我有一个巨大的字符串元组,它们是从程序返回的。返回的示例元组如下所示:('(-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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值