Python 内建函数列表 > Python 的内置函数 iter
Python 的内置函数 iter() 用于创建一个迭代器对象,它可以将可迭代对象(如列表、元组、字典、集合等)转换为迭代器,从而支持逐个访问元素的操作。
基本语法
1iter(iterable, sentinel) 2
- iterable:必需参数,表示要转换为迭代器的可迭代对象(如列表、字符串等)。
- sentinel:可选参数,用于指定迭代停止的条件值(主要用于自定义迭代行为)。
示例说明
- 基本用法(无
sentinel参数)
1numbers = [1, 2, 3, 4] 2num_iter = iter(numbers) # 转换为迭代器 3print(next(num_iter)) # 输出:1 4print(next(num_iter)) # 输出:2 5
- 文件逐行读取(常用于处理大文件)
1with open('data.txt', 'r') as file: 2 file_iter = iter(file.readline, '') # 逐行读取,直到遇到空字符串 3 for line in file_iter: 4 print(line.strip()) 5
- 自定义迭代终止条件(使用
sentinel)
1import random 2def generate_random(): 3 return random.randint(1, 10) 4 5# 当生成的随机数等于5时停止迭代 6random_iter = iter(generate_random, 5) 7for num in random_iter: 8 print(num) 9
注意事项
- 如果没有更多元素可迭代,调用
next()将抛出StopIteration异常。 - 字典迭代默认返回键(keys),可通过
dict.items()等方法获取键值对。 - 迭代器只能单向遍历,无法回退或重置,遍历结束后需重新创建迭代器。
应用场景
- 处理大型数据集时节省内存(逐项读取而非一次性加载)。
- 实现自定义迭代逻辑(如条件终止)。
- 与生成器配合使用,支持惰性求值(lazy evaluation)。
《Python 的内置函数 iter》 是转载文章,点击查看原文。