佛法曰:万物皆有缘
Python中的列表,会因为内存的大小,而存在限制,并且一旦过大,多内存的消耗也是可观的。
为解决这个问题,可以对数值有规律的列表进行优化,存储生成数值的规律,还可以加上起始与终点。这样在需要输出使用时,就可以根据存储的生成规律进行数值的循环生成,而存储的生成数值的规律就是生成器。
相当于不存鸡蛋存母鸡,而且这只母鸡下蛋极快极快极快。。。。。
生成母鸡以及母鸡的产后护理:(廖雪峰老师,高手,这是个高手)
https://www.liaoxuefeng.com/wiki/1016959663602400/1017318207388128
廖雪峰老师的课后题
#--*--coding:utf-8 --*--
def triangles():
result = [1]
while True:
# 每次计算都记住一个list
yield result
# 每次计算,都多一位0,这样 result[-1] = 0 ,便于下一列表的生产
result.append(0)
# 列表生成器
# [1,2,1,0] --> [(1+0),(2+1),(1+2),(0+1)] --> [1,3,3,1]
result=[result[i]+result[i-1] for i in range(len(result))]
results = []
n=0
for t in triangles():
print(t)
results.append(t)
n = n + 1
if n == 10:
break