首先,第一种方法很难看:您要么需要单独的变量分配来获取元素,要么一直使用
a[i],这从 理论上讲
可能是一项昂贵的 *** 作。想象一下
a,作为数据库游标:对其进行迭代(
a.__iter__被调用)时,对象可以安全地假定您将对其所有项目进行迭代。因此,可以一次检索全部或至少多个行。当获得长度时,这样的优化将是愚蠢的,尽管您肯定不希望仅由于需要项数而检索数据。同样,在检索特定项目时,您不能假定也将检索其他项目。
此外,使用
enumerate()与作品 可迭代的 ,而
range(len())只适用于 可数,可转位 对象。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)