Python生成器迭代实际案例-来源知乎问答

关注我的微信公众号:pythonislover,领取python,大数据,SQL优化相关视频资料!~

Python大数据与SQL优化笔 QQ群:771686295

 

 

本案例来源于知乎问答

怎样修改这个程序,让他得到结果?

 

 

 

我的方案:

def get_province_population(filename):
    with open(filename) as f:
        for line in f:
            yield int(line)

gen=get_province_population("file_test")
gen1=get_province_population("file_test")
print(gen)  #<generator object get_province_population at 0x0000015C99367A20>

all_population = 0
for i in gen:
    all_population = all_population + int(i)
    print(i)
# all_population = sum((gen))
print(all_population)
#print all_population
for population in gen1:
    # print(population)
    print(population/all_population)

缺点:要生成2次迭代器对象,但是不用一次把数据放入内存

 

他人答案

 

 

还有更好,方法的,请留言,谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值