如何将数组打印为特定格式?

时间:2018-11-04 19:51:25

标签: python arrays format

我有一个这样格式化的数组:

[-22.99253267 -83.23210952  77.71126322  43.99377722 -41.75731176 89.02862477]

我想打印此数组以接收此结果

[-22.992 -83.232  77.711  43.993 -41.757 89.028]

我知道如果使用np.set_printoptions(precision=3)也会得到类似的结果,但是我想知道如何使用9.3f来接收此结果。

2 个答案:

答案 0 :(得分:2)

要在列中打印数据:

for data in x:
    print '{:9.3f}'.format(data)

要在行中打印数据: (不要忘记import sys

for data in x:
    sys.stdout.write('{:9.3f}'.format(data))

答案 1 :(得分:0)

使用String.format()

list = [-22.99253267, -83.23210952,  77.71126322,  43.99377722, -41.75731176, 89.02862477]
for numbers in list :
    print('{:9.3f}'.format(data))

我收到输出

-22.993
-83.232
 77.711
 43.994
-41.757
 89.029

编辑

在OP的评论之后,这是一个更新,它将所有元素添加到列表中。

y = []
list = [-22.99253267, -83.23210952,  77.71126322,  43.99377722, -41.75731176, 89.02862477]
for numbers in list:
   x = '{:9.3f}'.format(data)
   y.append(x)
print(y)

输出

['  -22.993', '  -83.232', '   77.711', '   43.994', '  -41.757', '   89.029']