直接举例:
要实现功能→列表中的每个元素+1。
第一种方法:
- def addlist(alist):
- r = []
- for i in alist:
- r.append(i+1)
- return r
第二种方法:
- def addlist(alist):
- for i in alist:
- yield i + 1
采用这二种方法,优点是节约内存,适合海量数据,因为yield实际上是用了一个迭代器。每次调用 yield i + 1
的时候,都会把本次计算的值存起来,调用完成之后,调用了多少次,就有多少条数据在里面。