【问题标题】:How to print out empty nodes in array instead of getting the address of nodes in an array如何打印出数组中的空节点而不是获取数组中节点的地址
【发布时间】:2020-08-09 04:50:37
【问题描述】:

为什么我得到一个数组中地址的输出而不是得到 ['','','','','','','',''] 呢?我如何让它输出 ['','','','','','','',''] 而不是节点的地址?

class Node:
  def __init__(self, Name, Pointer =-1):
    #-1 represents null value
    self.__name = Name
    self.__pointer = Pointer

  def getName(self):
    return self.__name
  
  def getPointer(self):
    return self.__pointer
  

  #need setName and setPointer as __ means that u can only change the attributes inside the class
  def setName(self, Name):
    self.__name = Name
  
  def setPointer(self, Pointer):
    self.__pointer = Pointer

class Linkedlist:
  def __init__(self, size):
    self.__Make = [Node('') for i in range (size)]

  def getMake(self):
    return self.__Make

x = Linkedlist(8)
print(x.getMake())

【问题讨论】:

    标签: python arrays class


    【解决方案1】:

    您通过x.getMake() 创建了节点,但您没有设置节点名称。

    您应该首先设置节点名称:

    x = Linkedlist(8)
    nodes = x.getMake()
    
    for i, node in enumerate(nodes):
        node.setName(Name=str(i))
    

    然后就可以打印了:

    for node in nodes:
        print(node.getName())
    

    输出:

    0
    1
    2
    3
    4
    5
    6
    7
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多