Python __用两个列表报告,列表中有多个项目

Python __用两个列表报告,列表中有多个项目,python,class,Python,Class,希望能快速回答!任何帮助的方向都将不胜感激。我正在努力准备期末考试 我会这样称呼这个班: >>> Q = priorityQueue() >>> Q.insert("text",10) >>> Q.insert("hello", 18) >>> Q text 10, hello 18 所以我有一门课,比如: class priorityQueue():

希望能快速回答!任何帮助的方向都将不胜感激。我正在努力准备期末考试

我会这样称呼这个班:

    >>> Q = priorityQueue()
    >>> Q.insert("text",10)
    >>> Q.insert("hello", 18)
    >>> Q
    text 10, hello 18
所以我有一门课,比如:

    class priorityQueue():

          def __init__(self):
              self.items = []
              self.priorities = []

           def insert(self, x, p):
              self.items.append(x)
              self.priorities.append(p)

           #This is where I dont understand how to get it to return how it should.
           def __repr__(self):
               new = []
               for x in range(len(self.items)):
                   new.append(str(self.items[x])+ " " +str(self.priorities[x]))
               return [str(x) for x in new]
这将给我一个错误,如:

      TypeError: __repr__ returned non-string (type list)

谢谢Stack

函数必须返回
字符串,但您返回的是
列表
。 也许您想将
返回
行更改为
返回'\n'。加入(新)

尝试:

def __repr__(self):
    new = []
    for x in range(len(self.items)):
        new.append(str(self.items[x])+ " " +str(self.priorities[x]))
    return ','.join(new)

基本上,您需要返回所需输出中的输出,这是一个逗号分隔的字符串。

您正在从
\uuu repr\uuu()
返回一个列表,您希望发生什么?非常感谢您的帮助