如何创建对象特定的列表,该列表在被多次调用时不会清空自身

时间:2018-11-20 13:21:00

标签: python class pycharm

My problem

在初始化中,我声明了两个列表变量,分别称为npm install @tensorflow/tfjsnlist

然后在方法rlist中,我将名为add_neighour的对象(r​​outer2)附加到名为router2.__routername的对象列表中。

self.nlist

我在等待特定命令的True中调用代码:

命令P用于打印信息

class Router:

    def __init__(self, routername):

        self.__routername = routername

        self.nlist = []
        self.rlist = []

    def print_info(self):

        print(self.nlist)

        print("  ", self.__routername, sep="")
        print("    N: ", ", ".join(sorted(self.nlist)), sep="")
        print("    R: ", ", ".join(sorted(self.rlist)), sep="")

    def add_neighbour(self, router2):
        self.nlist.append(router2.__routername)

        print(self.nlist)

命令C用于将两个路由器链接在一起。 (例如,将router2的名称 if command == "P": routername = input("Enter router name: ") if routername not in mydict: print("Router was not found.") else: router = Router(routername) router.print_info() 附加到router1的邻居列表router2.__routername上。

这种情况self.nlist发生在方法class Router中,该方法以另一个路由器作为参数。

add_neighbour

附加操作很好,当我最后 elif command == "C": router1 = input("Enter 1st router: ") router2 = input("Enter 2nd router: ") router1 = Router(router1) router2 = Router(router2) router1.add_neighbour(router2) router2.add_neighbour(router1) 时,它表明列表已使用所需的附加元素进行了更新。但是,在调用print(self.nlist)函数并尝试打印print_info时,它将打印一个空列表。

我不知道为什么。我应该以其他方式/位置声明对象特定的列表吗?

将值添加到列表的方式不同吗?

我的目标是:在sorted(self.nlist)方法内成功打印self.nlist。成功打印意味着它可以打印除空列表以外的其他内容。

我尝试从几篇文章中寻找答案。很抱歉,如果这篇文章重复并且写得很糟。

整个代码:(如您所见,正在进行中……)

print_info

0 个答案:

没有答案