python学习第二天---生成器表达式

复习:

  获取移动平均值

# 移动平均值
# avg = sum / count

def average():
    sum = 0
    count = 0
    avg = 0
    while 1: 
        num = yield avg
        sum += num
        count +=1
        avg = sum/count
        
avg = average()
avg.__next__()
avg1 = avg.send(10)
print(avg1)

生成器表达式:

  

g = (i for i in range(10))  

for i in g:
    print(i)

列表推导式

a = [x for x in range(10)]

print(a)

生成器表达式与列表表达式区别:

  括号不一样

  返回值不一样,生成器表达式几乎不占用内存。

猜你喜欢

转载自www.cnblogs.com/cjj426890/p/9923442.html