详解Python之可迭代对象、迭代器和生成器
可迭代对象(Iterable)
可迭代对象,顾名思义,是指可以被迭代的对象,比如列表、元组、字符串等序列。可以用for循环遍历,也可以使用内置函数iter()
获取迭代器。
以下是一个示例代码,展示如何使用for循环遍历列表:
lst = [1, 2, 3, 4, 5]
for i in lst:
print(i)
迭代器(Iterator)
迭代器是一个访问集合元素的对象,可以用于遍历序列中的元素,实现了迭代器协议,包含两个方法__iter__()
和__next__()
,前者返回迭代器本身,后者返回下一个元素,如果没有元素则抛出StopIteration异常。
下面是一个示例代码,展示使用迭代器遍历列表:
lst = [1, 2, 3, 4, 5]
it = iter(lst)
while True:
try:
print(next(it))
except StopIteration:
break
生成器(Generator)
生成器是一种特殊的迭代器,使用生成器可以通过函数实现迭代器,一边循环一边计算下一个元素的值,这样就可以节省大量的存储空间,提高效率。生成器函数使用关键字yield
返回迭代器,简化了迭代器的实现。
以下是一个示例代码,展示生成器函数的实现:
def fibonacci(n):
a, b = 0, 1
for i in range(n):
yield b
a, b = b, a + b
for val in fibonacci(5):
print(val)
以上就是关于Python中可迭代对象、迭代器和生成器的详细介绍,希望可以对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python之可迭代对象,迭代器和生成器 - Python技术站