【问题标题】:Print a 2D array in a certain way in Python在 Python 中以某种方式打印二维数组
【发布时间】:2021-03-02 19:33:43
【问题描述】:

我想打印一个二维数组,例如[[1, 2, 3], [4, 5, 6]]。 我通过附加数组来生成这个二维数组,例如我添加的下一个数组可能是np.array([7, 8, 9])。 最后,我对最终的 2D 对象 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 arrays numpy printing 2d


    【解决方案1】:

    看起来你可以把它转换成一个普通的 Python 列表并打印出来:

    print(a.tolist())
    

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

    from pprint import pprint
    
    pprint(a.tolist())
    

    【讨论】:

    • 是的,这似乎就是我要找的东西。谢谢。也许旁注,有没有办法将它完全打印在屏幕上,因为现在它被打印为屏幕外的一条长线。这不是一个真正的问题,但会是一个奖励。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-22
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    • 2012-10-01
    • 2021-11-20
    • 2013-07-26
    相关资源
    最近更新 更多