实现效果
代码
说明
参看python生成器的相关内容,可知在for迭代过程中,yield处断点并输出list类型的L,建议可结合调试分析论证。
关于表达式:
L=[L[0]] + [L[j]+L[j+1] for j in range(len(L)-1)] + [L[-1]]
事实上,L[0]==L[-1]==1也就是杨辉三角每行的第一个元素和最后一个元素都是1,此处应该注意:对于list集合的添加,比如说:
结果是:[1, ‘fds’],当然L[-1]必须放在表达式最后。
也就是说,我们可以简而言之:
[L[j]+L[j+1] for j in range(len(L)-1)]
这个list集合与列表生成式有关,即在上一个list集合(L)根据L[i+1]=L[i]+L[i+1]进行计算(按顺序两两结合,共原长-1),注意结果仍然是list集合。