编程语言
首页 > 编程语言> > Python之生成器和推倒式

Python之生成器和推倒式

作者:互联网

1、生成器和生成器函数:生成器的本质就是迭代器

     生成器的创建方式:

                                 通过生成器函数:

                                                          函数中包含了yield的就是生成器函数,可以分段执行函数
                                                          注意:生成器函数被执行. 获取到的是生成器. 而不是函数的执行

                                                          格式:def func():

                                                                           yield "测试"

                                                                     func()
                                 通过生成器表达式创建生成器:(结果 for 变量 in 可迭代对象 if 筛选)
                                 通过数据转换

生成器的取值

      __next__()
      send(值) 给上一个yield位置传一个值, 第一个和最后一个yield不用传值
      可以for循环
      list(g)

注:当生成器有多个yield时,最后一个yield之后如果再进行__next__() 会报错

2、 各种推倒式和生成器表达式(没有元组推导式)

       列表推倒式 [结果 for 变量 in 可迭代对象 if 筛选]

lst=[i for i in range(1,15)]
print(lst)

       字典推倒式 {结果 for 变量 in 可迭代对象 if 筛选} 结果=>key:value

dic={"a":"b","c":"d"}
di={v:k for k,v in dic.items()}
print(di)
或
di={dic[k]:k for k in dic} 
print(di)

       集合推倒式 {结果 for 变量 in 可迭代对象 if 筛选} 结果=>key

dic={"a":"b","c":"d"}
di={k for k in dic}
print(di)

 

标签:函数,迭代,di,Python,生成器,yield,dic,推倒
来源: https://blog.csdn.net/baidu_38432732/article/details/99605321