iter()
是Python的一个内置函数,用于从可迭代对象(如列表、元组、字符串等)创建一个迭代器。迭代器是一个对象,支持next()
函数,可以遍历集合的元素。当没有更多元素可用时,迭代器引发StopIteration
异常。
iter()
函数的原型如下:
iter(object[, sentinel])
参数:
object
:一个可迭代对象,如列表、元组、字符串等。sentinel
:可选参数,如果提供了此参数,那么object
必须是一个可调用对象(如函数),而不是一个可迭代对象。在这种情况下,iter()
将创建一个特殊的迭代器对象,每次调用next()
时都会调用object
。当object
的返回值等于sentinel
时,迭代器引发StopIteration
异常。
返回值:
iter()
函数返回一个迭代器对象,可以使用next()
函数遍历其元素。
下面是使用iter()
的一些示例:
-
在列表上创建迭代器:
my_list = [1, 2, 3, 4, 5] iterator = iter(my_list) print(next(iterator)) # 输出:1 print(next(iterator)) # 输出:2
-
使用
for
循环遍历迭代器:my_list = [1, 2, 3, 4, 5] iterator = iter(my_list) for item in iterator: print(item)
-
使用
iter()
函数和可调用对象创建一个特殊的迭代器:import random def random_number_generator(): return random.randint(0, 10) iterator = iter(random_number_generator, 5) for number in iterator: print(number)
在这个示例中,我们创建了一个特殊的迭代器,它在每次调用
next()
时生成一个随机数。当生成的随机数等于5时,迭代器引发StopIteration
异常,for
循环终止。
总之,iter()
函数提供了一种方便的方法来创建和使用迭代器。这使得我们可以轻松地遍历可迭代对象的元素,并在需要时自定义迭代行为。