python - 在这两种情况下,Node 对象的内存引用是否相同?
问题描述
class Node:
def __init__(self, key, value):
self.key = key
self.value = value
self.prev = None
self.next = None
将此视为节点(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) 中,我很确定 is 的值hashmap[key]
将Node(key, value)
被添加。
我的直觉告诉我,在情况 (2) 中,将创建并添加一个新对象,而不是在 line 中创建的同一个对象self.hashmap[key] = Node(key, value)
。
我的预感正确吗?为什么或者为什么不?
解决方案
推荐阅读
- machine-learning - 计算机如何理解自然语言
- php - 找不到类“ZipArchive”
- c# - “list.add”在 C# 中没有 main 方法的类(EmployeeClass)中不起作用
- android - Android 中的黑洞或虚拟设备
- react-native - react native:x轴时间列的胜利图表格式
- sqlite - 如何自动将数据从 googlesheet 获取到本地 txt 或 csv 文件?
- c++ - 如何读取特定格式的文本文件 c++
- jsp - 使用 JSTL 设置 html 属性值
- android - PowerMockito Spy: Calling real method results with CannotStubVoidMethodWithReturnValue
- python - Selenium - 如何从 iframe 中发送 jQuery?