杨辉三角——关于生成器的理解

来源:互联网 发布:java private 继承 编辑:程序博客网 时间:2024/06/03 16:43

杨辉三角的实现

<pre name="code" class="python">def triangles()    a=[1]    while True:        yield a        a=[sum(i)for i in zip([0]+a,a+[0])]

这其实是一个死循环,没有判断条件,当进行调用此函数的时候可以进行条件设定。

n=0for t in triangles():    print(n)    n=n+1    if n==10:        break

sum()函数

sum()函数是python的内置函数,接受的参数为list,而tuple是一种特殊的list,所以也可以作为sum()函数的参数。

例一:参数为list
sum([2,3])

输出:5

例二:参数为tuple
sum((4,2))



输出:6

zip()函数

zip函数为python内置函数,zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。利用*号操作符,可以将list unzip(解压)。

0 0
原创粉丝点击