跳至主要内容

iter()

Python 中的 iter() 函数 是一个内置函数,它从可迭代对象返回一个迭代器对象。它可以用一个或两个参数调用,其中第一个参数是可迭代对象,第二个参数是确定何时停止迭代的哨兵值。如果未提供第二个参数,则 iter() 函数仅为给定的可迭代对象返回一个迭代器。

参数值

参数 描述
object

使用迭代器对象想要迭代的集合。

sentinel

定义迭代结束的值,一旦达到此值,迭代器将停止。

返回值

iter() 函数返回一个迭代器对象或一个带有 __next__ 方法的可调用对象。

如何在 Python 中使用 iter()

示例 1

iter() 函数为给定的可迭代对象返回一个迭代器对象,该对象可用于迭代可迭代对象的元素。

numbers = [1, 2, 3, 4, 5]
iter_numbers = iter(numbers)
print(next(iter_numbers))
print(next(iter_numbers))
示例 2

iter() 函数还可以通过实现 __iter__() 和 __next__() 方法与自定义可迭代类一起使用。

class MyRange:
    def __iter__(self):
        self.num = 1
        return self

    def __next__(self):
        if self.num <= 5:
            result = self.num
            self.num += 1
            return result
        else:
            raise StopIteration

numbers = MyRange()
iter_numbers = iter(numbers)
print(next(iter_numbers))
print(next(iter_numbers))
示例 3

iter() 函数可以接受一个附加参数,该参数是一个可调用对象,该可调用对象将被调用,直到它返回指定的值。

import random

def random_num():
    return random.randint(1, 10)

iter_random = iter(random_num, 5)

for num in iter_random:
    print(num)