Python 需要将字符串列表转换为普通数字列表,字符串以10为基数

Python 需要将字符串列表转换为普通数字列表,字符串以10为基数,python,string,list,Python,String,List,我有一个整数列表,如下所示: ["1e-04", "1e-06", "1e-08", "1e-10", "1e-12"] 我需要把这个字符串列表转换成一个普通数字列表,但是基数10让我卡住了。有什么建议吗?谢谢 >>> import ast >>> L = ["1e-04", "1e-06", "1e-08", "1e-10", "1e-12"] >>> [ast.literal_eval(x) for x in L] [0.0001, 1

我有一个整数列表,如下所示:

["1e-04", "1e-06", "1e-08", "1e-10", "1e-12"]
我需要把这个字符串列表转换成一个普通数字列表,但是基数10让我卡住了。有什么建议吗?谢谢

>>> import ast
>>> L = ["1e-04", "1e-06", "1e-08", "1e-10", "1e-12"]
>>> [ast.literal_eval(x) for x in L]
[0.0001, 1e-06, 1e-08, 1e-10, 1e-12]
或者干脆

>>> [float(x) for x in L]
[0.0001, 1e-06, 1e-08, 1e-10, 1e-12]

我会使用
map
float

>>> values_as_strings = ["1e-04", "1e-06", "1e-08", "1e-10", "1e-12"
>>> values_as_floats = map(float, values_as_strings)
>>> print values_as_floats
[0.0001, 1e-06, 1e-08, 1e-10, 1e-12]
请参阅。

a=[a中i的eval(i)]#以下是a的列表


这个列表理解将解决这个问题

,因为对于未来的读者来说,它们可能并不都是浮动的。。e、 g.
literal\u eval
将保留整数和浮点的混合,我将使用
literal\u eval
,但可能值得指出的是,它对
float
可以采用的“特殊”值没有帮助,例如
float('nan')
-
literal\u eval('nan')
(完全不奇怪)使用
ast.literal\u eval
时中断…+1,这比使用
eval
更安全。它们不能是整数,但可以