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次迭代器对象,但是不用一次把数据放入内存

他人答案

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

猜你喜欢

转载自blog.csdn.net/yrg5101/article/details/89399248