如何在PyCharm控制台中展开多维数组结果?

时间:2017-06-09 01:39:56

标签: python multidimensional-array pycharm textwrapping

我有python代码,它将1到78之间的元素添加到列表中,然后将其转换为3x26矩阵。我使用PyCharm IDE,它在每行的第24个元素后包装结果。这是代码:

import numpy as np
mylist=[]
for i in range(1,79):
    mylist.append(i)

data=np.matrix([mylist])
x=(data.reshape(3,26))
print(x)

这就是结果:

[[ 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
  25 26]
 [27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
  51 52]
 [53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
  77 78]]

Process finished with exit code 0

我想要做的是将每一行显示在一行中(例如25,26和其他两行未包装到新行)。我怎样才能做到这一点 ?这个问题pythonic或PyCharm有关吗?在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

这与PyCharm无关。您将在IDLE或Python命令行解释器中获得完全相同的结果。

它与Python无关。

当您的代码调用print(x)时,您要求x的字符串表示形式,即numpy矩阵。

numpy为您进行转换,它打破了输出线,以便很好地适应通用输出控制台。它不知道你在使用PyCharm。

针对此特定问题的快速解决方法是更改​​numpy的默认输出行长度(即75)。

numpy.set_printoptions(linewidth=90)

但是要完全控制输出,您必须自己格式化矩阵,而不是依赖numpy提供的默认字符串转换。