关于python生成式和生成器的信息

本文目录一览:

Python中列表生成式和生成器的区别

列表生成式语法:

[x*x for x in range(0,10)] //列表生成式,这里是中括号

//结果 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

(x*x for x in range(0,10)) //生成器, 这里是小括号

//结果 generator object genexpr at 0x7f0b072e6140

二者的区别很明显:

一个直接返回了表达式的结果列表, 而另一个是一个对象,该对象包含了对表达式结果的计算引用, 通过循环可以直接输出

g = (x*x for x in range(0,10))

for n in g:

print n

结果

1

4

9

16

25

36

49

64

81

当表达式的结果数量较少的时候, 使用列表生成式还好, 一旦数量级过大, 那么列表生成式就会占用很大的内存,

而生成器并不是立即把结果写入内存, 而是保存的一种计算方式, 通过不断的获取, 可以获取到相应的位置的值,所以占用的内存仅仅是对计算对象的保存

python列表推导式和生成器表达式-

列表推导式和生成器表达式以及字典推导式 通常被视为Python中函数式编程的一部分,列表推导允许您使用包含较少代码的for循环创建列表。

用[] 包围

用{} 包围

生成器表达式允许在没有yield关键字的情况下即时创建生成器。

语法和概念类似于列表推导的语法和概念:用()包围

python极简教程06:生成式和装饰器

测试奇谭,BUG不见。

这一场,主讲python的 生成式和装饰器。

目的:掌握四种生成式(列表、生成器、集合、字典),装饰器的原理和使用。

能够用一行代码,快速高效的生成数据。(这就不需要再通俗的讲解了吧)

举个例子:提取1-100之间的奇数

使用(),而不是 []

举个例子:列表元素去重

举个例子:字典kv反转

顾名思义:增强函数或类的功能的一个函数。

装饰器的作用:增强函数的功能,确切的说,可以装饰函数,也可以装饰类。

初学的你,还是太难理解?

你开视频聊天,觉得自己的颜值不在线,于是乎,你使用美颜,增强装饰自己的颜值。

对于美颜这个功能来说,你可以用,我可以用,所有人都可以用,以此来增强装饰自己的颜值。

方法一:不用语法糖@符号

方法二:采用语法糖@符号

再举个例子:计算函数时间

python解析式与生成器表达式

列表解析式List Comprehension,也叫列表推导式

语法

列表解析式是一种语法糖

语法

语法

语法

和列表解析式的区别

生成器对象

一般来说,应该多应用解析式,简短、高效。如果一个解析式非常复杂,难以读懂,要考虑拆解成for循环。

生成器和迭代器是不同的对象,但都是可迭代对象。

如果不需要立即获得所有可迭代对象的元素,在Python 3中,推荐使用惰性求值的迭代器。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/206710.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-08 14:16
下一篇 2024-12-08 14:16

相关推荐

  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • 如何查看Anaconda中Python路径

    对Anaconda中Python路径即conda环境的查看进行详细的阐述。 一、使用命令行查看 1、在Windows系统中,可以使用命令提示符(cmd)或者Anaconda Pro…

    编程 2025-04-29
  • Python计算阳历日期对应周几

    本文介绍如何通过Python计算任意阳历日期对应周几。 一、获取日期 获取日期可以通过Python内置的模块datetime实现,示例代码如下: from datetime imp…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • python强行终止程序快捷键

    本文将从多个方面对python强行终止程序快捷键进行详细阐述,并提供相应代码示例。 一、Ctrl+C快捷键 Ctrl+C快捷键是在终端中经常用来强行终止运行的程序。当你在终端中运行…

    编程 2025-04-29
  • 蝴蝶优化算法Python版

    蝴蝶优化算法是一种基于仿生学的优化算法,模仿自然界中的蝴蝶进行搜索。它可以应用于多个领域的优化问题,包括数学优化、工程问题、机器学习等。本文将从多个方面对蝴蝶优化算法Python版…

    编程 2025-04-29
  • Python程序需要编译才能执行

    Python 被广泛应用于数据分析、人工智能、科学计算等领域,它的灵活性和简单易学的性质使得越来越多的人喜欢使用 Python 进行编程。然而,在 Python 中程序执行的方式不…

    编程 2025-04-29
  • Python清华镜像下载

    Python清华镜像是一个高质量的Python开发资源镜像站,提供了Python及其相关的开发工具、框架和文档的下载服务。本文将从以下几个方面对Python清华镜像下载进行详细的阐…

    编程 2025-04-29

发表回复

登录后才能评论