Python中如何将列表元素转为科学计数法数值(非字符串)
将列表元素转换为科学计数法形式(无字符串引号)
你的代码用f-string把数值转成了字符串类型,所以输出的列表元素带引号。要得到不带引号的科学计数法显示效果,不需要把元素转成字符串,直接在打印时对数值进行格式化输出即可:
解决方案代码
A = [0.000129, 0.000148] # 格式化拼接成期望的输出格式 print(f"[{', '.join(f'{num:.2e}' for num in A)}]")
输出结果
[1.29e-04, 1.48e-04]
原理说明
- 原代码中
f'{num:.2e}'生成的是字符串对象,因此列表A_scientific的元素是字符串,打印时会自动添加引号。 - 上面的方案直接对原列表中的数值进行格式化,将所有格式化后的结果拼接成符合期望格式的字符串再打印,最终输出就不会带有引号。
如果你需要保留列表元素为数值类型,只是打印时显示为科学计数法,上面的方法同样适用——数值本身的存储形式不变,只是改变了打印时的展示方式。
内容的提问来源于stack exchange,提问作者Wiz123
相关产品推荐
相关产品推荐

