我在类的最前面声明了一个空字典,为什么函数运行起来里面突然有值了?

发布于 2022-09-11 17:39:51 字数 449 浏览 34 评论 0

在类似于leetcode的平台上做题,有道连通性查找……

clipboard.png

函数是放在类里面
在类的最开头 没有用def __init__而是直接声明了一个空字典

但是后面运行解题函数的时候 刚开始基本什么都没做的时候
打印一看 怎么这个空字典里面有值了???

(外面的main函数是只调用accountsMerge这个函数的)

这是怎么回事?

而且这段代码点测试的时候是通过的,测试的时候后面字典还是为空,但一提交就会变成字典突然有值的情况……

后来百思不得其解,新建了个def __init__初始化函数,把father={}放进去才通过

这到底是怎么回事?为什么突然会有值,还是纯粹它有系统bug?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

ㄟ。诗瑗 2022-09-18 17:39:51

你用leetcode 刷题吧
他验证的时候大概是这样的

a = Solution() # 实例化一个a
a.accountMerge(xxx) == xxxx # 正确
a.accountMerge(xxx1) == xxxx2 # 错了因为没有实例化新的a,所以father还是上一个father
所以在accountMerge内先把self.father = {} 清空
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文