?一、iter()
????????在 Python 中,iter() 是一个内置函数,用于获取一个可迭代对象的迭代器。迭代器是一种对象,它可以逐个访问可迭代对象的元素,而不需要提前知道可迭代对象的全部内容。iter() 函数的基本语法是:
iter(iterable)
其中 iterable 是一个可迭代对象,比如列表、元组、字符串等。
二、next()
??????? next() 也是一个内置函数,用于获取迭代器的下一个元素。迭代器是一种可以逐个访问元素的对象。next() 函数的基本语法是:
next(iterator, default)
其中 iterator 是一个迭代器对象,default 是可选参数,用于指定在迭代器耗尽时返回的默认值。
例子:
# 使用 iter() 获取列表的迭代器
my_list = [1, 2, 3, 4, 5]
my_iterator = iter(my_list)
# 使用 next() 获取列表的迭代器并逐个访问元素
print(next(my_iterator)) # 输出: 1
print(next(my_iterator)) # 输出: 2
print(next(my_iterator)) # 输出: 3
# 当迭代结束时,使用 default 指定默认值
print(next(my_iterator, "No more elements")) # 输出: 4
print(next(my_iterator, "No more elements")) # 输出: 5
# 如果不提供 default,当迭代器耗尽时会抛出 StopIteration 异常
# print(next(my_iterator)) # 会抛出 StopIteration 异常
????????在上述例子中,iter(my_list) 返回了列表 my_list 的迭代器,并通过 next() 函数逐个访问了列表的元素。
????????通常,for 循环会在背后隐式地使用 iter() 函数来获取迭代器,并通过 next() 函数逐个访问元素,直到抛出 StopIteration 异常表示迭代结束。因此,使用 iter() 和 next() 可以手动模拟 for 循环的迭代过程。
????????next() 和 iter() 通常一起使用,但不是强制性的,它们有着不同的目的。