Python 中 iter() 和 next() 函数的用法?

推荐答案

本题详细解读

iter() 函数

iter() 函数用于将一个可迭代对象(如列表、元组、字符串等)转换为一个迭代器对象。迭代器对象可以逐个访问可迭代对象中的元素。

  • 语法: iter(iterable[, sentinel])
    • iterable: 必需,表示要转换为迭代器的可迭代对象。
    • sentinel: 可选,如果提供了 sentineliterable 必须是一个可调用对象(如函数),迭代器会不断调用 iterable,直到返回的值等于 sentinel

next() 函数

next() 函数用于从迭代器中获取下一个元素。每次调用 next(),迭代器都会返回下一个元素,直到没有更多元素时抛出 StopIteration 异常。

  • 语法: next(iterator[, default])
    • iterator: 必需,表示要从中获取下一个元素的迭代器对象。
    • default: 可选,如果提供了 default,当迭代器耗尽时,返回 default 而不是抛出 StopIteration 异常。

示例代码解析

  1. 创建迭代器对象:

    这里 iter() 函数将列表 my_list 转换为一个迭代器对象 iter_obj

  2. 获取下一个元素:

    每次调用 next(iter_obj),迭代器会返回列表中的下一个元素。

  3. 处理迭代器耗尽:

    当迭代器中没有更多元素时,继续调用 next() 会抛出 StopIteration 异常。可以通过提供 default 参数来避免异常。

纠错
反馈