以下是 iter() 函数的语法:
iter(iterable[, sentinel])
- iterable: 要转换为迭代器的可迭代对象,如列表、元组、字符串等。
- sentinel: 可选,如果提供了 sentinel 参数,iter() 会创建一个迭代器,该迭代器会不断调用 iterable 的 __next__() 方法,直到返回值等于 sentinel 为止。
下面是一些示例:
# 将列表转换为迭代器
my_list = [1, 2, 3, 4, 5]
my_iter = iter(my_list)
# 使用迭代器进行遍历
for element in my_iter:
print(element)
# 输出:
# 1
# 2
# 3
# 4
# 5
# 将字符串转换为迭代器
my_string = "Hello"
my_iter_str = iter(my_string)
# 使用迭代器进行遍历
for char in my_iter_str:
print(char)
# 输出:
# H
# e
# l
# l
# o
# 使用 sentinel 参数创建迭代器
class Counter:
def __init__(self, start, end):
self.current = start
self.end = end
def __iter__(self):
return self
def __next__(self):
if self.current > self.end:
raise StopIteration
self.current += 1
return self.current - 1
counter = iter(Counter(1, 5), sentinel=3)
for num in counter:
print(num)
# 输出:
# 1
# 2
# 3
在这些示例中,iter() 函数被用于将列表和字符串转换为迭代器,并使用迭代器进行遍历。此外,还演示了使用 sentinel 参数创建带有自定义停止条件的迭代器。
转载请注明出处:http://www.zyzy.cn/article/detail/332/Python3