关注我的微信公众号: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次迭代器对象,但是不用一次把数据放入内存
他人答案
还有更好,方法的,请留言,谢谢