


今天的Python基础篇小知识点讲解可迭代对象与迭代器,大家这么聪明,一看就会了。

1.可迭代对象(Iterable): 只要能被for循环遍历的对象,就是可迭代对象。
常见类型: 列表、字符串、字典、元组等,实现了__iter__()方法,调用该方法能返回一个迭代器,可以遍历取出所有的元素。
from collections.abc import Iterable, Iterator# 可迭代对象(Iterable)lst = [1,2,3]print(isinstance(lst,Iterable)) # True(列表是可迭代对象)print(isinstance(lst,Iterator)) # False(列表不是迭代器)
2.迭代器(Iterator):是可迭代对象的“遍历工具”,迭代器同时实现__iter__()和__next__()方法,其能通过next()函数逐个返回元素,遍历完会抛出StopIteration异常。
特点:
一次性: 迭代器遍历一次就耗尽,再次调用next()直接抛异常。
惰性计算: 只有调用next()时才生成下一个元素,节省内存(适合处理大数据集)。
# ----- 迭代器的一次性特性 -----lst = [1,2,3]lst_iter = iter(lst)# 第一次遍历for i in lst_iter:print(i) ## 第二次遍历(无输出,因为迭代器已耗尽)for i in lst_iter:print(i)# ----- 迭代器的惰性计算,特别适合节省内存 -----print(next(lst_iter)) # 1print(next(lst_iter)) # 2print(next(lst_iter)) # 3print(next(lst_iter)) # 抛出异常



总结:今日我们学习了Python基础篇-Python中的可迭代对象与迭代器。可迭代对象是能被for循环遍历的对象,如列表、字符串、字典等,其核心特征是实现了__iter__()方法,可理解为“存储数据的容器”,支持重复遍历;迭代器则是可迭代对象的遍历工具,需同时实现__iter__()和__next__()方法,具有一次性、惰性计算的特性。可通过iter()将可迭代对象转换而来,借助next()逐个返回元素,可以避免一次性加载所有数据到内存,遍历完毕会抛出StopIteration异常。在Python基础篇,后续我们将持续学习Python基础知识,祝每一位study er学习愉快。




