我在打印正在创建的列表时遇到问题。
class Node():
def __init__(self, cargo = None, next = None):
self.cargo = cargo
self.next = next
def __str__(self):
return str(self.cargo)
node1 = Node(1)
node2 = Node(2)
node3 = Node(3)
node1.next = node2
node2.next = node3
def printList(node):
i = 0
nodeList = []
while node:
nodeList.append(node)
node = node.next
return nodeList
print(printList(node1))
这是输出:
[<__main__.Node object at 0x0189E470>, <__main__.Node object at 0x0189E950>, <__main__.Node object at 0x0189E7B0>]
我相信我目前得到的输出是每个元素存储在我的计算机中的位置。我希望收到的输出是[1,2,3]列表格式。我可以通过单独打印每个元素来做到这一点,但我宁愿不这样做。有人能给我任何建议吗?
答案 0 :(得分:1)
您的{
"Code" : "Success",
"LastUpdated" : "2016-01-15T16:20:09Z",
"Type" : "AWS-HMAC",
"AccessKeyId" : "xxx",
"SecretAccessKey" : "xxx",
"Token" : "xxx",
"Expiration" : "2016-01-15T23:00:11Z"
}
包含nodeList
个对象,这些对象是您在打印中获得的,打印列表时,因此请在其上打印:
而不是
Node
呼叫
print(printList(node1))
或使for nod in printList(node1):
print(nod)
包含节点的字符串表示,因为该函数被称为nodeList
:
printList