在python中对空列表使用索引

2024-04-28 05:41:01 发布

您现在位置:Python中文网/ 问答频道 /正文

对于下面的程序,在addEntry(self,dictKey,dictVal)函数中,我不明白为什么下面的代码行不生成索引错误:

if hashBucket[i][0] == dictKey

self.buckets最初是空列表的列表: self.buckets = [[],[]...[]]
第一次执行addEntry时,hashBucket只是一个空列表,所以我预计hashBucket[i][0]将生成一个索引错误,但该程序实际上可以工作,为什么?非常感谢你的帮助。在

这是节目单

^{pr2}$

Tags: 函数代码self程序列表if错误buckets
3条回答

由于hashBucket一开始是空列表,for i in range(len(hashBucket)):本质上是for i in range(0):,这意味着它永远不会在第一次调用addEntry时到达条件{}。在

当第一次执行hashBucket时为空。所以范围是空的。所以这个for循环什么也做不了对于范围内的i(len(hashBucket)):' 我想。 对吗?在

当您尝试在一个空列表上循环时,不会发生任何事情,请启动一个python interpeter并尝试此操作

>>> for i in range(len([])):
...     print(i)
... 
>>>

不会打印任何内容,因此同样,如果hashBucket为空,那么for循环中的所有内容都将永远不会执行

^{pr2}$

相关问题 更多 >