Python的iter()
函数是一个内置函数,用于将一个可迭代对象转换成一个迭代器对象。
该函数的基本模式为:
iter(obj[, sentinel])
其中,obj
表示要进行迭代的对象,sentinel
表示用于指定停止迭代的值的标记。如果不指定sentinel
,则obj
必须是一个支持迭代的对象(例如,列表、元组、字符串等),否则将抛出TypeError
类型的异常。
iter()
函数返回的是一个迭代器对象,该对象可以用于获取原始对象的每个元素。
下面我们来看两个示例,帮助理解iter()
函数。
- 将列表转换成迭代器
lst = [1, 2, 3, 4, 5]
# 使用iter函数将列表转换成迭代器
iter_lst = iter(lst)
# 通过next函数获取迭代器的第一个元素
print(next(iter_lst)) # 输出1
# 再次使用next函数,获取迭代器的下个元素
print(next(iter_lst)) # 输出2
在这个例子中,我们首先定义了一个包含5个元素的列表。然后,使用iter()
函数将该列表转换成了一个迭代器对象iter_lst
,并通过next()
函数获取了第一个元素1
。接着,再次调用next()
函数,获取了下个元素2
。
- 使用sentinel停止迭代
class CustomIterator:
def __init__(self, num):
self.num = num
self.count = 0
def __iter__(self):
return self
def __next__(self):
if self.count < self.num:
self.count += 1
return self.count
raise StopIteration
# 创建一个自定义的迭代器对象
itr = CustomIterator(5)
# 使用iter函数将迭代器对象转换成迭代器
iter_itr = iter(itr, 3)
# 逐个获取迭代器的元素,直到遇到sentinel 3,迭代停止
for i in iter_itr:
print(i)
在这个例子中,我们首先定义了一个自定义类型的迭代器CustomIterator
,该迭代器可以生成从1到指定数字的连续整数。然后,我们使用iter()
函数将该迭代器对象转换成了一个迭代器iter_itr
,并指定sentinel为3
。最后,使用for
循环逐个获取迭代器对象的元素,并且当迭代到值为3
时,迭代停止。
以上是iter()
函数的基本用法。需要注意的是,该函数返回的迭代器对象只能遍历一次,如果需要再次遍历,需要重新创建迭代器对象。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python的iter函数怎么使用 - Python技术站