Python每天五分钟-迭代器与生成器

迭代器

迭代器是帮助我们访问一类集合数据类型元素的一种方式;使用iter()和next()函数。
集合数据类型如:列表、字符串、元祖、集合、字典,可以通过isinstance()函数来判断是否可迭代;一般可迭代的都是可以使用for循环来进行遍历的。

l = [1, 2, 3]
l2 = iter(l)
print(next(l2))
print(next(l2))
print(next(l2))
# 输出结果
# 1
# 2
# 3
# 也可以使用for循环
l = [1, 2, 3]
l2 = iter(l)
for x in l2:
# print(xx, end=" ")中的end表示输出内容后拼接的内容
	print(x, end=" ")
# 输出结果
# 1 2 3

生成器

在Python函数中使用yield的函数称之为生成器,生成器返回的是一个迭代器,只能用于迭代操作。

def test():
	yield 1
	yield 2
	yield 3
	return

f = test()
print(next(f))
print(next(f))
print(next(f))
# 输出结果
# 1
# 2
# 3