gpt4 book ai didi

python - 打印列表返回每个元素的位置,而不是值

转载 作者:太空宇宙 更新时间:2023-11-03 17:03:29 24 4
gpt4 key购买 nike

我在打印我正在创建的列表时遇到问题。

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]。我可以通过单独打印每个元素来做到这一点,但我宁愿不这样做。有人可以给我任何建议吗?

最佳答案

您的nodeList包含Node对象,这是您在打印时打印列表时获得的对象,因此可以对它们调用print:

而不是

打印(printList(node1))

通话

for nod in printList(node1):
print(nod)

或者使您的nodeList包含节点的字符串表示形式,因为该函数称为printList:

  def printList(node):
i = 0
nodeList = []
while node:
nodeList.append(str(node)) #use str() here
node = node.next
return nodeList

print(printList(node1))

关于python - 打印列表返回每个元素的位置,而不是值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34816626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com