iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python中的生成器(generator)
  • 956
分享到

python中的生成器(generator)

python前端linux 2023-09-18 17:09:06 956人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

一、生成器 生成器是 python 中非常有用的一种数据类型,它可以让你在 Python 中更加高效地处理大量数据。生成器可以让你一次生成一个值,而不是一次生成一个序列,这样可以节省内存并提高性能 二、实现generator的两种方式 py

一、生成器

生成器是 python 中非常有用的一种数据类型,它可以让你在 Python 中更加高效地处理大量数据。生成器可以让你一次生成一个值,而不是一次生成一个序列,这样可以节省内存并提高性能

二、实现generator的两种方式

python中的generator保存的是算法,真正需要计算出值的时候才会去往下计算出值。它是一种惰性计算(lazy evaluation)。

要创建一个generator有两种方式。

第一种方法:把一个列表生成式的[]改成(),就创建了一个generator

>>> L=[x * x for x in range(10)]>>> L[0,1,4,9,16,25,36,49,64,81]>>> g = (x * x for x in range(10))#注意把[]改成()后,不是生成一个tuple,而是生成一个generator>>> g at 0x1022ef630>

第二种方式:在函数中使用yield关键字,函数就变成了一个generator

函数里有了yield后,执行到yield就会停住,当需要再往下算时才会再往下算。所以生成器函数即使是有无限循环也没关系,它需要算到多少就会算多少,不需要就不往下算。

# -*- coding: UTF-8 -*-def fibonacci():    a, b = 0, 1    while True:        yield a        a, b = b, a + b# 使用生成器生成前 10 个斐波那契数列fib = fibonacci()for i in range(10):    print(next(fib))

 

 

参考:

python中的生成器(generator)总结_python generator_Python 学习者的博客-CSDN博客

Python 生成器(generator)详细总结+示例_python generator_Jairoguo的博客-CSDN博客

来源地址:https://blog.csdn.net/sinat_31608641/article/details/131692227

--结束END--

本文标题: python中的生成器(generator)

本文链接: https://www.lsjlt.com/news/412006.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作