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)