# def fn():
#     print("盲僧")
#     yield "瞎子"
#     print("狮子狗")
#     yield "辛巴"
#     print("螳螂")
#     yield "150斤的肥螳螂"
#     print("冰晶凤凰")
#     yield "冰鸟"
# g=fn()
# print(list(g))
# print(g.__next__())
# print(g.__next__())
# print(g.__next__())
# print(g.__next__())
# def fn():
#     lst=[]
#     for i in range (1,146):
#         lst.append("英雄联盟第%s位英雄"%i)
#     return lst
# # print(fn())
# def gn():
#     i=1
#     while i<146:
#         yield "英雄联盟第%s位英雄"%i
#         i=i+1
# g1=gn()
# print(g1.__next__())
# print(g1.__next__())
# print(g1.__next__())
# lst=[]
# for i in range(1,101):
#     lst.append(i)
# print(lst)
# lst=["python%s"%i for i in range(1,101)]
# print(lst)
# print(["python%s"%i for i in range(1,101)])
# print(["python%s"%i for i in range(1,101)])# def fn():
#     print(111)
#     yield 222
# g=fn()
# g1=(i for i in g)
# g2=(j for j in g1)
# print(list(g))
# print(list(g1))
# print(list(g2))
#生成器函数
#yield与return的区别,return是返回结果停止调用;yield也是返回结果但是是分段调用
# def fn():
#     print(111)
#     yield 222
#     print(333)
#     a=yield 444
#     print(a)
#     print(555)
#     yield 666
# g=fn()
# print(list(g))
# print(g.__next__())
# print(g.__next__())
# print(g.send(11))
#__next__()与send的区别
# 都是传给下一个值,但是send不能用于第一个,它可以给yield赋一个值,最后一个也不能传,会报错# 列表推导式:
# 列表推倒式; 最终给你的是列表
# 语法 [最终结果(变量) for 变量 in 可迭代对象]
# lst=[i for i in range(1,101)]
# print(lst)
#1-100能被3整除的数
# print([i for i in range (1,101) if i%3==0])
# #100以内能被3整除的平方
# print([i**2 for i in range (1,101) if i%3==0])
# names = [['Tom', 'Billy', 'Jefferson' , 'Andrew' , 'Wesley' , 'Steven' ,
# 'Joe'],'Alice',['Alice', 'Jill' , 'Ana', 'Wendy', 'Jennifer', 'Sherry' , 'Eva']]
# print([name for i in names for name in i if name.count('e')>=2])# 生成器表达式:
# g=(i for i in range(1,101))
# print(list(g))
# 生成器的惰性机制:
# def func():
#     print(111)
#     yield  222
# g = func()
# g1 = (i  for i in  g)
# g2 = (i  for i in  g1)
#
# print(list(g))#111  [222]
# print(list(g1))#[]生成器的惰性机制,若不调用不执行
# print(list(g2))#[]# 字典和集合的推导式:
# dic={'a':'b','c':'d'}
# # dic1={dic[key]:key for key in dic}
# # print(dic1)
lst=["盖伦","猴子","宝石"]
lst1=["卡特","狐狸","ez"]
print({lst[i]:lst1[i] for i in range (len(lst))})
# 关于生成器的一个面试题:
# def add(a, b):
#     return a + b
# def gen():
#     for r_i in range(4):
#          yield r_i
# g = gen()
#
# for n in [2, 10]:#n存在两种取值,2或者10
#     g = (add(n, i) for i in g)      #循环两次后n=10,g=(add(n, i) for i in (add(n, i) for i in g) )
# print(list(g))          #n的取值为最后一次循环的值,代入得20,21,22,23

转载于:https://www.cnblogs.com/zhangdaye/p/9329672.html

生成器应用及知识推广相关推荐

  1. 【SIGIR22】使用反事实生成器来消除知识感知推荐中的虚假联系

    Alleviating Spurious Correlations in Knowledge-aware Recommendations through Counterfactual Generato ...

  2. java毕业设计智能推荐的医药知识推广平台统Mybatis+系统+数据库+调试部署

    java毕业设计智能推荐的医药知识推广平台统Mybatis+系统+数据库+调试部署 java毕业设计智能推荐的医药知识推广平台统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S ...

  3. JAVA智能推荐的医药知识推广平台统计算机毕业设计Mybatis+系统+数据库+调试部署

    JAVA智能推荐的医药知识推广平台统计算机毕业设计Mybatis+系统+数据库+调试部署 JAVA智能推荐的医药知识推广平台统计算机毕业设计Mybatis+系统+数据库+调试部署 本源码技术栈: 项目 ...

  4. Java毕设项目智能推荐的医药知识推广平台统(java+VUE+Mybatis+Maven+Mysql)

    Java毕设项目智能推荐的医药知识推广平台统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilde ...

  5. 报表生成器的必备知识,及报表主流软件

    报表生成器,是面向业务用户的.用于创建报表的工具.市场上有许多报告生成器,大多是基于java web实现的工具.什么是报表生成器产品?报表生成器如何生成报表?本文来介绍报表生成器的必备知识,及报表主流 ...

  6. 异步解耦_如何使用异步生成器解耦业务逻辑

    异步解耦 Async generators are new in JavaScript. They are a remarkable extension. They provide a simple ...

  7. 再谈迭代器,生成器,yield,及和类的使用

    最近写项目时,遇到类嵌套和yield的混合使用,觉得比较典型,正好借此加深对迭代器和生成器的理解. 代码 代码抽象如下: from types import FunctionTypeclass Row ...

  8. 联邦知识蒸馏概述与思考(续)

    关注公众号,发现CV技术之美 前文([科普]联邦知识蒸馏概述与思考)提到知识蒸馏是一种模型压缩方法,通过利用复杂模型(Teacher Model)强大的表征学习能力帮助简单模型(Student Mod ...

  9. Python迭代器和生成器详解(包括yield详解)

    文章目录 一.迭代器 1. 可迭代对象(Iterable) 2. 迭代器对象(Iterator) 3. for 循环原理 4. 迭代器的优缺点 二.生成器 1. yield 原理 2. yield 和 ...

  10. 心肺复苏,“星火急救”推广三年,也是深圳民生微实事项目

    2019独角兽企业重金招聘Python工程师标准>>> [中国公益在线深圳讯](记者张强 林丽芬)8月14日07:03,一位60多岁的退休教师在清华大学东操场晨跑时晕倒,同场晨跑的李 ...

最新文章

  1. 重磅!2021年全球高被引科学家名单出炉!
  2. 凡夫怎么可能揣度圣者的境界
  3. 互联网协议 — HTTPS 安全的超文本传输协议
  4. 虚拟桌面模拟查找点击自绘控件
  5. C语言的本质(35)——共享库
  6. 百度吴恩达:图像和音视频搜索是人工智能新方向
  7. 普通的101键盘在Mac上的键位对应
  8. 0074 几道面试题
  9. Linux的实际操作:用户管理(查看用户和组的配置文件/etc/passwd /etc/group /etc/shadow)
  10. 拥抱创新,持续探索——对话阿里云MVP胡逢法
  11. slf4j+logback 日志
  12. Redis 6.0 新特性概览
  13. Thinkphp查询数据转成layui的展示格式
  14. java 3500_学java开发3500价位的笔记本该侧重那些方面?
  15. Python 的解释器
  16. 利用动态图层实现数据的实时显示
  17. ai人工智能_毕竟人工智能可能不适合您
  18. JSON格式输出Struts2
  19. 织梦mysql安装教程视频教程_dedecms织梦模板安装教程视频/图文步骤(模板秀出品)...
  20. IDL处理葵花8Himawari-8标准HSD数据——制作大气校正数据集(卫星角度数据)

热门文章

  1. 「代码随想录」123.买卖股票的最佳时机III【动态规划】力扣详解!
  2. 如何在使用 Spotify 时更好地保护您的隐私?
  3. iOS开发之33 款主宰 2017 iOS 开发的开源库
  4. macOS中7个隐藏的技巧
  5. 前端文档汇总(觉得对您有用的话,别忘了给点个赞哦 ^_^ !) 1
  6. java.lang.IllegalStateException: Async support must be enabled on a servlet and for all filters invo
  7. 四级数据中心认证机构更新标准全新上线
  8. 问题集录--新手入门深度学习,选择TensorFlow 好吗?
  9. paper 88:人脸检测和识别的Web服务API
  10. 递归+分治+贪心+动态规划