为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

肥皂起泡泡 2019-02-06 06:06:49
在类似于leetcode的平台上做题,有道连通性查找……函数是放在类里面在类的最开头 没有用def __init__而是直接声明了一个空字典但是后面运行解题函数的时候 刚开始基本什么都没做的时候打印一看 怎么这个空字典里面有值了???(外面的main函数是只调用accountsMerge这个函数的)这是怎么回事?而且这段代码点测试的时候是通过的,测试的时候后面字典还是为空,但一提交就会变成字典突然有值的情况……后来百思不得其解,新建了个def __init__初始化函数,把father={}放进去才通过这到底是怎么回事?为什么突然会有值,还是纯粹它有系统bug?
查看完整描述

1 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

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

a = Solution() # 实例化一个aa.accountMerge(xxx) == xxxx # 正确a.accountMerge(xxx1) == xxxx2 # 错了因为没有实例化新的a,所以father还是上一个father所以在accountMerge内先把self.father = {} 清空


查看完整回答
反对 回复 2019-02-19
  • 1 回答
  • 0 关注
  • 662 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信