对于下面的程序,在addEntry(self,dictKey,dictVal)函数中,我不明白为什么下面的代码行不生成索引错误:
if hashBucket[i][0] == dictKey
self.buckets
最初是空列表的列表:
self.buckets = [[],[]...[]]
第一次执行addEntry时,hashBucket
只是一个空列表,所以我预计hashBucket[i][0]
将生成一个索引错误,但该程序实际上可以工作,为什么?非常感谢你的帮助。在
这是节目单
^{pr2}$
Tags:
由于}。在
hashBucket
一开始是空列表,for i in range(len(hashBucket)):
本质上是for i in range(0):
,这意味着它永远不会在第一次调用addEntry
时到达条件{当第一次执行hashBucket时为空。所以范围是空的。所以这个for循环什么也做不了对于范围内的i(len(hashBucket)):' 我想。 对吗?在
当您尝试在一个空列表上循环时,不会发生任何事情,请启动一个python interpeter并尝试此操作
不会打印任何内容,因此同样,如果
^{pr2}$hashBucket
为空,那么for循环中的所有内容都将永远不会执行相关问题 更多 >
编程相关推荐