gpt4 book ai didi

python - 使用f-strings python格式化具有相同宽度的数字

转载 作者:太空狗 更新时间:2023-10-30 00:52:43 24 4
gpt4 key购买 nike

我想使用 f 字符串格式化具有相同宽度的数字数组。数字可以是正数也可以是负数。

最小工作示例

import numpy as np  
arr = np.random.rand(10) - 0.5
for num in arr:
print(f"{num:0.4f}")

结果是

0.0647
-0.2608
-0.2724
0.2642
0.0429
0.1461
-0.3285
-0.3914

由于负号,数字不会以相同的宽度打印出来,这很烦人。如何使用 f 弦获得相同的宽度?

我能想到的一种方法是将数字转换为字符串并打印字符串。但是还有比这更好的方法吗?

for num in a: 
str_ = f"{num:0.4f}"
print(f"{str_:>10}")

最佳答案

在格式规范之前使用一个空格:

#        v-- here
>>> f"{5: 0.4f}"
' 5.0000'
>>> f"{-5: 0.4f}"
'-5.0000'

或加号 (+) 强制显示所有 符号:

>>> f"{5:+0.4f}"
'+5.0000'

关于python - 使用f-strings python格式化具有相同宽度的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55985245/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com