首页 > 解决方案 > 如何修改 def __str__ 使其返回不带括号 [] 且不带“,”的矩阵

问题描述

这是我的代码,我需要我的 def str来打印不带括号 [] 和不带“,”的 marrix</p>

这是返回的内容:

[0, 0, 0]

[0, 0, 0]

[0, 0, 0]

这就是我希望它返回的


0 0 0

0 0 0

0 0 0
class Matrix():
    

    def __init__(self, width = int, height = int, fill_value=0):
        self.height = height
        self. width = width
        self.rows = [[fill_value] * width for _ in range (height)] #A for matrix A

    def __str__(self):
        return "\n" .join(map(str, self.rows))’’’

对不起,如果我没有完美地编写我的代码,我还在弄清楚如何使用 StackOverflow。

标签: pythonpython-3.xpython-2.7

解决方案


你可以用"\n".join([" ".join(map(str, x)) for x in self.rows])它来做。

class Matrix():
    def __init__(self, width = 3, height = 3, fill_value=0):
        self.height = height
        self. width = width
        self.rows = [[fill_value] * width for _ in range (height)] #A for matrix A

    def __str__(self):
        return "\n".join([" ".join(map(str, x)) for x in self.rows])

推荐阅读