# 迭代器
# 迭代是 Python 最强大的功能之一,是访问集合元素的一种方式。。
# 迭代器是一个可以记住遍历的位置的对象。
# 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。
# 迭代器有两个基本的方法:iter() 和 next()。
import sys
list = [1, 2, 3, 4]
it = iter(list)
print(next(it))
# 输出 1
print(next(it))
# 输出 2
print(next(it))
# 输出 3
print(next(it))
# 输出 4
# print(next(it))
# 输出异常:StopIteration
# 迭代器对象与for语法进行遍历
list=[1,2,3,4]
it = iter(list)
for x in it:
print(x, end=' ')
# 输出 1 2 3 4
# 迭代器对象使用next()函数进行循环
list = [1,2,3,4]
it = iter(list)
# while True:
# try:
# print(next(it), end=" ")
# except StopIteration:
# sys.exit()
# 输出:1 2 3 4
# 生成器定义
# 案例: 通过
def multiply_generator(x):
nxt = 1
while True:
yield f"{x} x {nxt} = {x*nxt}"
nxt = nxt + 1
mutigen = multiply_generator(9)
for i in range(9):
print(next(mutigen))
# 输入一个起始数据x, 每次增加步长y
def num_generator(x,y):
while True:
yield x
x, y = x + y, y
mutigen = num_generator(10,5)
for i in range(9):
print(next(mutigen))
# 斐波那契数列
def fibonacci(n):
a, b, c = 0, 1, 0
while True:
if c > n:
return
yield a
a, b = b, a+b
mutigen = fibonacci(100)
for i in range(100):
print(next(mutigen), end=" ")
标签:nxt,迭代,生成器,list,next,mutigen,print
From: https://www.cnblogs.com/bengguo/p/18330370