一,生成器优点:
1.延迟计算,一次返回一个结果,不会一次生成所有结果。
2.生成器可有效提高代码可读性。
注意:生成器只能遍历一次。(母鸡一生只能下一定数量的蛋,下多了会over)
例子:
人口普查文件内容如下:
此时输出的是文件第一行内容的人口数,eval是将字符串转化为字典
将文件中所有的人口数据取出来并求和
计算得到人口的总数
求各省所占总人口比例:
执行上述的代码并不会输出结果,因为生成器只能遍历一次,我们在执行sum语句时,就遍历了我们的生成器,当两次遍历生成器时就不会有任何的记录。