如何使 Julia 输出向量像 Numpy 一样漂亮?

mcm*_*n6o 7 formatting numpy rounding julia

如果我执行以下操作:

A = [
  2   1   3   0   0;
  1   1   2   0   0;
  0   6   0   2   1;
  6   0   0   1   1;
  0   0 -20   3   2
]
b = [10; 8; 0; 0; 0]
println(A\b)
Run Code Online (Sandbox Code Playgroud)

输出是:

[8.000000000000002, 12.0, -6.000000000000001, -23.999999999999975, -24.000000000000043]
Run Code Online (Sandbox Code Playgroud)

但是,我希望它看起来类似于 Numpy 输出同一问题的结果的方式(编辑:不过最好保留尾随零和逗号):

[  8.  12.  -6. -24. -24.]
Run Code Online (Sandbox Code Playgroud)

是否有捷径可寻?当然,我可以编写自己的函数来执行此操作,但如果我可以设置一些格式化标志,那就太好了。

谢谢!

Bog*_*ski 9

标准方法是更改IOContext​​:

julia> println(IOContext(stdout, :compact=>true), A\b)
[8.0, 12.0, -6.0, -24.0, -24.0]
Run Code Online (Sandbox Code Playgroud)

您可以编写您的函数,例如(我不想在这里完全概括,而是向您展示这个想法):

printlnc(x) = println(IOContext(stdout, :compact=>true), x)
Run Code Online (Sandbox Code Playgroud)

然后只需调用prinlnc您的代码即可。