在Python中,`iter()`函数用于创建一个迭代器对象,该对象可以用来遍历一个可迭代对象(如列表、元组、字符串等)的元素。以下是`iter()`函数的基本用法:
```python
创建一个列表
my_list = [1, 2, 3, 4, 5]
使用iter()函数创建一个迭代器
my_iter = iter(my_list)
使用next()函数逐个访问迭代器中的元素
print(next(my_iter)) 输出: 1
print(next(my_iter)) 输出: 2
print(next(my_iter)) 输出: 3
...以此类推,直到迭代器耗尽
自定义迭代器也是可能的,只需在自定义类中实现`__iter__()`和`__next__()`方法:
```python
class MyRange:
def __init__(self, start, end):
self.start = start
self.end = end
def __iter__(self):
return self
def __next__(self):
if self.current >= self.end:
raise StopIteration
result = self.current
self.current += 1
return result
创建自定义迭代器实例
my_iter = MyRange(1, 5)
使用for循环遍历自定义迭代器
for i in my_iter:
print(i) 输出: 1 2 3 4
`iter()`函数还可以与`sentinel`参数一起使用,这在处理固定块数据读取时非常有用:
```python
逐行读取文件内容
with open('example.txt', 'r') as file:
for line in iter(file):
print(line.strip()) 输出每行内容
需要注意的是,使用`iter()`函数创建的迭代器只能遍历一次,遍历完成后需要重新创建迭代器。