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()
返回一个列表,您希望发生什么?非常感谢您的帮助