2

我有一个看起来像这样的整数列表:

["1e-04", "1e-06", "1e-08", "1e-10", "1e-12"]

我需要将此字符串列表转换为普通数字列表,但以 10 为底让我卡住了。有什么建议么?谢谢。

4

3 回答 3

7
>>> 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]
于 2012-10-21T12:29:48.647 回答
1

我会使用mapfloat

>>> 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]

地图

于 2012-10-21T14:03:48.757 回答
0

a=[eval(i) for i in a] # 这里 a 是列表

这个列表理解将解决它

于 2012-10-27T05:32:39.810 回答