我没弄明白使用迭代器好在哪里了

来源:3-2 如何实现可迭代对象和迭代器对象(2)

ShiveryMoon

2017-06-02

老师的代码的核心机制就在于next函数的迭代调用,那我用for直接调用城市列表不就好了吗。。

我就直接贴自己的代码了

import requests

def getweather(city):
       r = requests.get('http://wthrcdn.etouch.cn/weather_mini?city=' + city)
       data = r.json()['data']['forecast'][0]
       return print('%s: %s,%s' % (city, data['low'], data['high']))

l=['北京','上海','石家庄','厦门','镇江','南京','西安','海南','保定','天津']
for x in l:
   getweather(x)

这段代码的输出和老师的效果一模一样

难道是使用迭代器机器运算效率更高?

都是单线程,也不是协程,不用考虑异步,那为什么要用迭代器。。


写回答

1回答

程序员硕

2017-06-03

延迟计算, 用一个算一个, 而不是一口气全部计算出来, 节省内存. 

2
2
ShiveryMoon
可能我有点钻牛角尖了。。
2017-06-03
共2条回复

Python高效编程技巧实战

精选50个Python案例,源自实战,全面提升Python编程能力

2582 学习 · 360 问题

查看课程