在python中将字符串转换为数组的最快方法是什么?

在python中将字符串转换为数组的最快方法是什么?,第1张

在python中将字符串转换为数组的最快方法是什么?

我不确定这是最快的,但绝对是最安全/最简单的:

import astlst = ast.literal_eval(s)

常规

eval
也可以工作:

lst = eval(s)

我的机器的一些基本计时

>>> s = '[54, 95, 45, -97, -51, 84, 0, 32, -55, 14, 50, 54, 68, -3, 57, 88, -1]' >>> def f1():...    eval(s)... >>> def f2():...    ast.literal_eval(s)... >>> timeit.timeit('f1()', 'from __main__ import f1')31.415852785110474>>> timeit.timeit('f2()', 'from __main__ import f2')46.25958704948425

因此,根据我的计算机,

eval
速度比快50%
ast.literal_eval
。但是,这
eval
绝对是不安全的,除非您完全信任它,否则切勿在任何字符串上使用它。除非这是一个真正的演示瓶颈,并且您100%相信输入,否则我会认为值得花一些额外的时间来换取能够在晚上安然入睡的条件。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5674364.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存