【问题标题】:py3k print significant figurespy3k 打印有效数字
【发布时间】:2011-10-26 17:23:14
【问题描述】:

在 python3 中有一个很好的方法来设置有效数字 - 即如果我有一个列表:

l = [2.2738257169723513, 2.2725769281387329, 2.3101812601089478]

我可以使用漂亮的新打印系统并做

print(*l,sep="\t")

但我不清楚如何在不做的情况下设置 sigfig

m = "%.2f, %.2f, %.2f" % (l[0], l[1], l[2])
print(m)

我想知道是否有一个选项可以打印只是说 - 将所有浮点数打印到 2 dp?

我想我可以使用循环,但这似乎不像 Python 那样

【问题讨论】:

  • 我建议您澄清一下您是指有效数字还是有效小数位。
  • 那我觉得问题的标题和内容应该重新分解,否则问题与实际问题无关。

标签: printing python-3.x significant-digits


【解决方案1】:

实际上,它绝对是 Pythonic,它是完成您所要求的事情的唯一方法。也就是说,您仍然可以使用推导来使其更简洁(在此原因是一个元组,但您可以使用列表或使用list(map():

# I've changed the name to float_list because l should not be
# used as a variable name in Python according to the standard
# style recommendations
print(*('{0:.2f}'.format(x) for x in float_list), sep="\t")

【讨论】:

  • 呸,Python 3 风格绝对不好。应该使用str.format。还有……骆驼案?真的吗?
  • @BlaXpirit 抱歉,旧习惯很难改掉。 (<smarmy>那是混合大小写,不是 CamelCase,顺便说一句 </smarmy>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-14
  • 2017-08-23
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 2011-05-30
  • 2021-10-04
相关资源
最近更新 更多