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
更安全。它们不能是整数,但可以