Python 的内置函数 iter

Python 内建函数列表 > Python 的内置函数 iter

Python 的内置函数 iter() 用于创建一个迭代器对象,它可以将可迭代对象(如列表、元组、字典、集合等)转换为迭代器,从而支持逐个访问元素的操作。

基本语法

iter(iterable, sentinel)
  • iterable:必需参数,表示要转换为迭代器的可迭代对象(如列表、字符串等)。
  • sentinel:可选参数,用于指定迭代停止的条件值(主要用于自定义迭代行为)。

示例说明

  1. 基本用法(无 sentinel 参数)
numbers = [1, 2, 3, 4]
num_iter = iter(numbers)  # 转换为迭代器
print(next(num_iter))  # 输出:1
print(next(num_iter))  # 输出:2
  1. 文件逐行读取(常用于处理大文件)
with open('data.txt', 'r') as file:
    file_iter = iter(file.readline, '')  # 逐行读取,直到遇到空字符串
    for line in file_iter:
        print(line.strip())
  1. 自定义迭代终止条件(使用 sentinel
import random
def generate_random():
    return random.randint(1, 10)

# 当生成的随机数等于5时停止迭代
random_iter = iter(generate_random, 5)
for num in random_iter:
    print(num)

注意事项

  • 如果没有更多元素可迭代,调用 next() 将抛出 StopIteration 异常。
  • 字典迭代默认返回键(keys),可通过 dict.items() 等方法获取键值对。
  • 迭代器只能单向遍历,无法回退或重置,遍历结束后需重新创建迭代器。

应用场景

  • 处理大型数据集时节省内存(逐项读取而非一次性加载)。
  • 实现自定义迭代逻辑(如条件终止)。
  • 与生成器配合使用,支持惰性求值(lazy evaluation)。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容