• python---生成器表达式


    # Python 使用生成器对延迟操作提供了支持。所谓延迟操作,是指在需要的时候才产生结果,而不是立即产生结果。这也是生成器的主要好处。
    #
    # Python有两种不同的方式提供生成器:
    #
    # 生成器函数:
    #
    # 常规函数定义,但是,使用 yield 语句而不是 return 语句返回结果
    # yield 语句一次返回一个结果,在每个结果中间,挂起函数的状态,以便下次重它离开的地方继续执行
    # 生成器表达式:
    #
    # 类似于列表推导,但是,生成器返回按需产生结果的一个对象,而不是一次构建一个结果列表
    # 列表推导式
    import random
    list01 = [random.randint(1, 5) for i in range(5)]
    print(list01)  # [1, 3, 4, 1, 2]
    # 生成器表达式
    gen01 = (random.randint(1, 5) for i in range(5))
    print(gen01)  # <generator object <genexpr> at 0x7f18cc1c8830>
    # 生成器当中的元素只能获取一遍
    # for   生成器.__next__()
    print("data:", gen01.__next__())  # 第一个数据
    print("data:", gen01.__next__())  # 第二个数据
    for item in gen01:
        print("for:", item)
    # print("data:", gen01.__next__())  # 报错:StopIteration
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
  • 相关阅读:
    使用 NumPy 来模拟随机游走(Random Walk)
    学习栈,Java实现
    MySQL-SQL语句与锁
    ESLint自动修复代码规范错误
    软件测试:黑盒测试用例的四种设计方法
    ElementUI之首页导航+左侧菜单
    HTTP知识点总结
    unity 库
    Linux系统中查看NextJS程序的CPU、内存占用情况
    线阵相机之帧超时
  • 原文地址:https://blog.csdn.net/weixin_69899223/article/details/125518195