How to print a numpy.array in one line?
我测试了pycharm和idle,他们都把第七个号码打印到第二行。
输入:
1 2 3 | import numpy as np a=np.array([ 1.02090721, 1.02763091, 1.03899317, 1.00630297, 1.00127454, 0.89916715, 1.04486896]) print(a) |
输出:
1 2 | [ 1.02090721 1.02763091 1.03899317 1.00630297 1.00127454 0.89916715 1.04486896] |
如何将它们打印成一行?
有
1 2 3 4 5 6 | >>> import numpy as np >>> np.set_printoptions(linewidth=np.inf) >>> a = np.array([ 1.02090721, 1.02763091, 1.03899317, 1.00630297, 1.00127454, 0.89916715, 1.04486896]) >>> print(a) [1.02090721 1.02763091 1.03899317 1.00630297 1.00127454 0.89916715 1.04486896] |
它将在一行中打印所有一维数组。对于多维数组,它不会那么容易地工作。
与此处类似,如果只想临时更改ContextManager,则可以使用它:
1 2 3 4 5 6 7 8 9 | import numpy as np from contextlib import contextmanager @contextmanager def print_array_on_one_line(): oldoptions = np.get_printoptions() np.set_printoptions(linewidth=np.inf) yield np.set_printoptions(**oldoptions) |
然后像这样使用它(假定是新的解释程序会话):
1 2 3 4 5 6 7 8 9 10 11 12 | >>> import numpy as np >>> np.random.random(10) # default [0.12854047 0.35702647 0.61189795 0.43945279 0.04606867 0.83215714 0.4274313 0.6213961 0.29540808 0.13134124] >>> with print_array_on_one_line(): # in this block it will be in one line ... print(np.random.random(10)) [0.86671089 0.68990916 0.97760075 0.51284228 0.86199111 0.90252942 0.0689861 0.18049253 0.78477971 0.85592009] >>> np.random.random(10) # reset [0.65625313 0.58415921 0.17207238 0.12483019 0.59113892 0.19527236 0.20263972 0.30875768 0.50692189 0.02021453] |
如果您想要定制版本的
1 2 3 4 5 6 7 8 9 10 | >>> print(a) [ 1.02090721 1.02763091 1.03899317 1.00630297 1.00127454 0.89916715 1.04486896] >>> str(a) '[1.02090721 1.02763091 1.03899317 1.00630297 1.00127454 0.89916715 1.04486896]' >>> np.array_str(a, max_line_width=np.inf) '[1.02090721 1.02763091 1.03899317 1.00630297 1.00127454 0.89916715 1.04486896]' >>> print(np.array_str(a, max_line_width=np.inf) [1.02090721 1.02763091 1.03899317 1.00630297 1.00127454 0.89916715 1.04486896] |
如果要更改每个数组的打印输出,而不仅仅是在这里,请参见
打印时键入强制转换到列表。
1 2 3 | import numpy as np a=np.array([ 1.02090721, 1.02763091, 1.03899317, 1.00630297, 1.00127454, 0.89916715, 1.04486896]) print(list(a)) |
这将打印在一行上。