在 Python 中以特定方式打印二维数组

Print a 2D array in a certain way in Python

我想打印一个二维数组,例如 [[1, 2, 3], [4, 5, 6]]。 我通过附加数组生成这个二维数组,例如我添加的下一个可能是 np.array([7, 8, 9])。 最后,我对最终的二维对象 a.

执行 np.array()

我使用 np.array2string(a, separator=',') 打印它,但后来我得到类似 [array([1, 2, 3]), array(...), ...]

的东西

如果我将数组附加为 np.array2string([7,8,9], separator=',') 然后使用 np.array2string() 打印我得到 ['[1,2,3]','[4,5,6]',...]

实际上,有更多的行和列,这就是为什么可能有一个 \n 太像了 ['[1, \n 2,3]','[4, \n5,6]',...]

所以最后我真正想要的是 python 像 [[1, 2, 3], [4, 5, 6]] 一样打印它。所以没有像 'array' 这样的词,没有引号,实际上也没有 \n。并以逗号分隔。

我还没有找到解决办法。有人知道这个方法吗?

谢谢

看起来您可以将其转换为普通 Python 列表并打印:

print(a.tolist())

如果输出很长,要自动添加一些换行符并使输出更具可读性,您可以使用标准库中的 pretty-printing 模块:

from pprint import pprint

pprint(a.tolist())