iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >生成器及推导式
  • 670
分享到

生成器及推导式

器及 2023-01-31 00:01:21 670人浏览 八月长安

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

摘要

一、生成器——自己写的函数 1、只要有yield关键字的函数都是生成器函数 2、yield关键字不能与return关键字同时使用 3、return结束函数,yield不结束函数,生成器函数执行之后得到一个生成器作为返回值 return与y

一、生成器——自己写的函数

1、只要有yield关键字的函数都是生成器函数

2、yield关键字不能与return关键字同时使用

3、return结束函数,yield不结束函数,生成器函数执行之后得到一个生成器作为返回值

return与yield的区别

def ger():
    print('hello')
    yield 'Hi'
ret=ger()
print(ret)
#<generator object ger at 0x00000137A9D985E8>#结果
def ger():
    print('hello')
    return 'Hi'
ret=ger()
print(ret)
#hello#结果
#Hi

yield的使用

def ger():
    print('hello')
    yield 'Hi'
ret=ger()
print(ret.__next__())
#hello结果
#Hi
'''
def ger():
print('hello')
yield 'Hi'
yield '春暖花开'
ret=ger()
print(ret.__next__())
print(ret.__next__())

#hello
#Hi
#春暖花开
'''
'''
def ger():
print('hello')
yield 'Hi'
yield '春暖花开'
yield '面朝大海'
ret=ger()
for fr in ret:
print(fr)
#hello结果
#Hi
#春暖花开
#面朝大海
'''

 二、推导式

分类:列表推导式(相对用的多)、生成器推导式,字典推导式;

列表推导式ret=[满足条件的元素的相关操作 for 元素 in 可迭代数据类型 if 元素相关条件]

例如30以内能被3整除的数的列表推导式:ret=[i for i in range(30) if i%3==0]

生成器推导式g=(满足条件的元素的相关操作 for 元素 in 可迭代数据类型 if 元素相关条件)

例如30以内能被3整除的数的生成器推导式:g=(i for i in range(30) if i%3==0)

例子:

def add(a,b):
    return a+b
def rang():
    for i in range(4):
        yield i
g=rang()
for n in [1,10,5]:#遇到这样的可拆分为如下'''  '''中的代码
    g=(add(n,i) for i in g)
'''
#上面for里的代码等价如下:
n=1
g=(add(n,i) for i in g)#(add(n,i) for i in rang())
n=10
g=(add(n,i) for i in g)#(add(n,i) for i in (add(n,i) for i in rang()))
n=5
g=(add(n,i) for i in g)#g=(add(n,i) for i in (add(n,i) for i in (add(n,i) for i in rang())))#实际执行
'''
print(list(g))#

结果

 

--结束END--

本文标题: 生成器及推导式

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

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

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

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

下载Word文档
猜你喜欢
  • 生成器及推导式
    一、生成器——自己写的函数 1、只要有yield关键字的函数都是生成器函数 2、yield关键字不能与return关键字同时使用 3、return结束函数,yield不结束函数,生成器函数执行之后得到一个生成器作为返回值 return与y...
    99+
    2023-01-31
    器及
  • Python生成器/生成器函数/推导式/
    1. 生成器   生成器的本质就是迭代器   在python中有三种⽅方式来获取⽣生成器:     1. 通过生成器函数     2. 通过各种推导式来实现⽣成器     3. 通过数据的转换也可以获取生成...
    99+
    2023-01-31
    生成器 函数 Python
  • day15(PYTHON)推导式{生成器
    #[每一个元素或者是和元素相关的操作 for 元素 in 可迭代数据类型] #遍历之后挨个处理 #[满足条件的元素相关的操作 for 元素 in 可迭代数据类型 if 元素相关的条件] #筛选功能 # #30以内所有能被3整...
    99+
    2023-01-30
    生成器 PYTHON
  • Python全栈之推导式和生成器
    目录1.推导式2.推导式练习3.集合_字典推导式4.生成器4.1生成器表达式4.2生成器函数5.小练习总结1. 推导式 # ### 推导式 : 通过一行循环判断遍历出一些列数据的...
    99+
    2024-04-02
  • Python生成器、推导式之前襟后裾
    生成器 函数体内有yield选项的就是生成器,生成器的本质是迭代器,由于函数结构和生成器结构类似,可以通过调用来判断是函数还是生成器,如下: def fun(): yield "我是生成器" print(fun()) # 打印...
    99+
    2023-01-30
    生成器 前襟后裾 Python
  • Python全栈推导式和生成器怎么实现
    本篇内容主要讲解“Python全栈推导式和生成器怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python全栈推导式和生成器怎么实现”吧!1. 推导式# ### 推导...
    99+
    2023-06-21
  • python3--列表推导式,生成器表达式,内置函数
    python列表推导式l = [i for i in range(10)] print(l) ll = ['选择{}'.format(i)&nb...
    99+
    2023-01-30
    生成器 表达式 函数
  • Python 推导式、生成器与切片问题解决思路
    推导式、生成器与切片 一、实验要求 1.理解并掌握序列中的常用操作。2.理解并掌握推导式、切片等用法并能解决实际问题。 二、实验内容 1,编写程序,测试字符的出现频率。 #u...
    99+
    2024-04-02
  • python中列表推导式与生成器表达式对比详解
    目录概述列表推导式生成器表达式使用场景选择参考总结概述 Python中的列表推倒式(List Comprehension) 和 生成器表达式(Generator Expression...
    99+
    2023-01-07
    python 列表推导式 python 生成器表达式
  • Python推导式、生成器与切片问题怎么解决
    本篇内容介绍了“Python推导式、生成器与切片问题怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、实验要求理解并掌握序列中的常用...
    99+
    2023-06-29
  • Python进阶之列表推导与生成器表达式详解
    目录内置序列类型列表推导与生成器表达式列表推导生成器表达式总结在python学习的过程中,我们最先接触到的就是python的数组,元组,字典等基础类型,但很少有人深入讨论python...
    99+
    2023-05-16
    Python列表推导 生成器表达式 Python 列表推导 Python 生成器表达式
  • Python中列表推导和生成器表达式如何使用
    Python中列表推导和生成器表达式如何使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 序列序列是指一组数据,按存放类型分为容器序列与扁平序列,按能否被修改分为不...
    99+
    2023-06-15
  • Python列表推导式,元组推导式,字典推导式,集合推导式
    目录1 介绍2 列表推导式3 元组推导式4 字典推导式5 集合推导式1 介绍 推导式(解析器):是Python独有的一种特性。使用推导式可以快速生成列表、元组、字典以及集合类型的数据...
    99+
    2024-04-02
  • Python 推导式
    Python 推导式 Python 推导式是一种独特的数据处理方式,可以从一个数据序列构建另一个新的数据序列的结构体。 Python 支持各种数据结构的推导式: 列表(list)推导式字典(dict)推导式集合(set)推导式元组(tupl...
    99+
    2023-10-02
    windows 网络 linux
  • 装饰器和推导式
    #!/usr/bin/env python# -*- coding:utf-8 -*-# 2.请为 func 函数编写一个装饰器,添加上装饰器后可以实现:执行func时,先输入"before",然后再执行func函数内部代码。"""def ...
    99+
    2023-01-31
  • Python之推导式
    ''' 列表推导式 : [想要写入列表的内容 for循环 if筛选]    #for循环内可嵌套多层     如 : 创建包含0~100之间偶数的列表         lst = [i for i in range(101) if i % ...
    99+
    2023-01-31
    Python
  • Python列表推导式与字典推导式的实现
    目录列表推导式 for 循环写法 列表推导式写法 列表推导式还支持嵌套 字典推导式 元组推导式与集合推导式 总结 在 Python 中推导式是一种非常 Pythonic 的知识,本篇...
    99+
    2024-04-02
  • Python列表推导式和嵌套的列表推导式
    列表推导式提供了一个更简单的创建列表的方法。常见的用法是把某种操作应用于序列或可迭代对象的每个元素上,然后使用其结果来创建列表,或者通过满足某些特定条件元素来创建子序列。 例如,假设我们想创建一个平方列表,像这样 >>...
    99+
    2023-01-31
    列表 嵌套 Python
  • 关于 Math.random()生成指定范围内的随机数的公式推导问题
    在 java 中,用于生成随机数的 Math 方法 random()只能生成 0-1 之间的随机数,而对于生成指定区间,例如 a-b 之间的随机数,却只能用相关计算公式。这个计算公式...
    99+
    2024-04-02
  • python-装饰器&生成器&迭代器&推
     一:普通装饰器 概念:在不改变原函数内部代码的基础上,在函数执行之前和之后自动执行某个功能,为已存在的对象添加某个功能 普通装饰器编写的格式 def 外层函数(参数) def 内层函数(*args,**kwargs) ...
    99+
    2023-01-31
    生成器 迭代 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作