您的位置:首页 > 其它

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

2015-06-19 21:40 211 查看

杨辉三角的实现

<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=0
for 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(解压)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: