【发布时间】:2017-11-29 17:31:55
【问题描述】:
我在列表中有一系列科学格式的数字:
A = [1e-2, 1e-3, 1e-4]
我想做的就是把A变成B:
B = ['1e-2','1e-3','1e-4']
我认为可以通过以下方式完成转换:
B = [str(A[ii]) for ii in range(len(A))]
但它给出了:
B = ['0.01','0.001','0.0001']
【问题讨论】:
-
format(num, "e")也许? -
@TadhgMcDonald-Jensen 这实际上非常简洁。但是,我自己尝试过,它正在输出:
'1.000000e-02'。其中,对我来说是相同,但不是完全如预期。尽管如此,还是非常棒的。不知道格式对于以这种方式表示的数字是否如此。 -
@TadhgMcDonald-Jensen:您能否更具体地说明在哪里使用格式功能
-
如果你只想要一个数字,那么
".0e"'小数点后没有数字',它会在列表 comp 中使用:[format(num, "e") for num in A] -
您没有一系列科学格式的数字。科学格式只是用于将浮点数放入列表中的字符串表示形式。浮点数在转换为浮点数之前如何格式化为字符串,浮点数不知道(您的程序也不知道)
标签: python