迭代器 / 生成器

# 迭代器
# 迭代是 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=" ")
posted @   文武双全·墨海纵横  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示