在这两种情况下,Node对象的内存引用是否相同?

时间:2018-10-03 06:21:43

标签: python

class Node:
    def __init__(self, key, value):
        self.key = key
        self.value = value
        self.prev = None
        self.next = None

将其视为Node(DLL)结构,我可以使用以下两个函数实现:

1.
def put(self, key, value):
       """
       :type key: int
       :type value: int
       :rtype: void
       """
       if key not in self.hashmap:
           self.hashmap[key] = Node(key, value)
           self.add(hashmap[key])


2.
self.hashmap[key] = Node(key, value)
             self.add(Node(key, value))

在两种情况下,我都试图将Node值添加到类结构中。在(1)中,我非常确定会添加hashmap[key]的值Node(key, value)

我的直觉告诉我,在情况(2)中,将创建并添加一个新对象,而不是在第self.hashmap[key] = Node(key, value)行中创建的同一对象。

我的直觉是正确的吗?为什么或为什么不呢?

0 个答案:

没有答案