Skip to main content
 首页 » 编程设计

python之在列表的同一行上格式化 python 中的 float

2025年05月04日13sharpest

我有一个如下所示的 float 列表:

numbers = [23.23, 0.123334987, 1, 4.223, 9887.2] 

我想对其进行格式化,以便打印最多 4 位小数。所以,我写了下面的代码:

for x in numbers: 
    print("{:10.04f}".format(x)) 

它打印以下内容,即每个数字单独一行。

   23.2300 
    0.1233 
    1.0000 
    4.2230 
 9887.2000 

但是,我想在同一行上打印所有这些。使用以下代码,我可以实现这一目标。

print('{:10.4f}{:10.4f}{:10.4f}{:10.4f}{:10.4f}'.format(numbers[0],numbers[1],numbers[2],numbers[3],numbers[4])) 

我得到了这个:

   23.2300    0.1233    1.0000    4.2230 9887.2000 

我的问题是:有没有更好的方法可以在不使用循环显式写入列表的每个元素的情况下实现这一点?我有一个包含 110 个条目的列表,并且将每个元素明确地写这么多次是很痛苦的。

请您参考如下方法:

怎么样:

print(' '.join("{:10.04f}".format(x) for x in numbers)) 

参见 String join()

在 join() 中,我们将格式应用于数字列表中的每个元素。