在 Python 中,我需要格式化数字以便它们在小数点上对齐,如下所示:
4.8
49.723
456.781
-72.18
5
13
最直接的方法是什么?
原文由 mcu 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Python 中,我需要格式化数字以便它们在小数点上对齐,如下所示:
4.8
49.723
456.781
-72.18
5
13
最直接的方法是什么?
原文由 mcu 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答873 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
我不 认为 有一种直接的方法可以做到这一点,因为在开始打印之前你需要知道所有数字中小数点的位置。 (我刚刚查看了 Caramiriel 的链接,以及该页面的一些链接,但我找不到任何特别适用于这种情况的内容)。
所以看起来你必须对列表中的数字进行一些基于字符串的检查和操作。例如,
输出
如果您想处理
float
与一些普通的int
混合的列表,那么这种方法会变得有点混乱。输出
正如 Mark Ransom 在评论中指出的那样,我们可以通过使用
.split
简化处理int
:Masher 在评论中提到,在右侧添加填充可能很有用,这样数字就可以打印在对齐的列中。但是,我们不需要计算每个字符串的填充大小,我们可以使用
str.ljust
方法。输出