- 博客(1)
- 收藏
- 关注
原创 python 迭代器的本质
在for i in Iterable循环中.先对被遍历的可迭代对象调用__iter__方法得到一个迭代器Iterator,实质上就是一个指向其首个元素的指针。然后在接下来的每一次遍历中,执行i=next(Iterator),实质上是取出指针所指元素赋给变量i并把指针+1,直至取数时发生越界,报出StopIteration错误。这也就解释了为什么在遍历一个变化的可迭代对象时(最常见的比如对列表进行删除插入操作),会出现不合期望的结果。(除非是你自己构造的实现了__next__的类)
2025-03-01 23:04:43
134
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人