本文实例讲述了Python字典生成式,集合生成式,生成器用法。分享给大家供大家参考,具体如下:
字典生成式:
-
<李>跟列表生成式一样,字典生成式用来快速生成字典,不同的是,字典需要两个值李>
# d={(键值)的键:值iterable} d1={“x”: 1、“y”: 2,“z”: 3} d2={k: v (k、v)在d1.items ()} 打印(d2)<人力资源/>
集合生成式:
-
<李>集合生成式格式和列表生成式类似,不过用的是大括号:李>
s1={x x范围(10)} 打印(s1)
生成器:
-
<李> <强> <你>生成器是一种迭代过程才生成对应元素的可迭代对象 强> 李>
<李>生成器的元素在访问前不会生成,只有当访问时才会生成,如果继续向后访问,那么当前的元素会销毁。李>
<李>生成器的一种生成方式是将列表生成式改为小括号包裹:李>
打印(”——使用()列表生成式生成发电机- - - - - -”) g=(x * x x范围(10)) 打印(类型(g), g) print(下(g)、下(g)下(g))
-
<李>生成器本质上是一个函数李>
<李> <>强当一个生成器被调用时,它返回一个生成器对象,而不用执行该函数。当第一次调用<代码> next() 代码>方法时,函数向下执行,如果遇到收益率则返回<代码>屈服后面的> 代码值。再次调用<代码> next() 代码>方法时,函数从上次结束的位置继续向下执行,如果遇到收益率则返回<代码>屈服后面的> 代码值。强> 李>
<李>可以使用收益来定义一个生成器:李>
打印(“\ n——使用收益率生成发电机- - - - - - -”) def通用电气(): 打印(“第一次收益率”) 产生1 打印(“第二次收益”) 收益率2 打印(“第三次收益率”) 产生3 o=通用电气() print (next (o)) print (next (o)) print (next (o)) >之前 运行结果:
——使用收益率生成发电机- - - - - - -
第一次收益
1
第二次屈服
2
第三次产量
3. 引用><李>生成器本质上是一个函数,如果想要获取这个函数的返回值,我们需要使用异常捕获来获取这个返回值:李>
def fib (max): n, a, b=0, 0, 1 尽管n & lt;马克斯: 收益率b a, b=b, a + b n=n + 1 返回“完成” 打印(“\ n - - - - - -尝试获得函数返回值- - - - - -”) gg=fib (6) 而真正的: 试一试: x=next (gg) 打印(“g:“x) 除了抛出StopIteration e: 打印(“返回值等于:“,e.value) 打破<李>既可以使用next()来迭代生成器,也可以使用的来迭代:李>
def通用电气(): 打印(“第一次收益率”) 产生1 打印(“第二次收益”) 收益率2 打印(“第三次收益率”) 产生3 o=通用电气() 打印(“\ n - - -迭代发电机的方法- - - - - - - - - -”) 在o x: 打印(x) #相当于进入到发电机函数中,执行下去并得到返回值 >之前 结果:推荐- - - - - -迭代发电机的方法- - - - - - - - - -
第一次收益
1
第二次屈服
2
第三次产量
3. 引用><李>由于生成器的特性,可以进行“协程”操作:后续补充李>
更多关于Python相关内容可查看本站专题:《Python列表(列表)操作技巧总结》,《Python字符串操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》,《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
Python字典生成式,集合生成式,生成器用法实例分析