Discuss / Python / 杨辉三角

杨辉三角

Topic source

Integrate1

#12 Created at ... [Delete] [Delete and Lock User]

L=[1] L=[L[i]+L[i+1] for i in range(len(L)-1)] L []

为什么执行了第二句就为空了呢?

len(L)=1 len(L)-1=0 range(len(L)-1)==range(0)==range(0,0) range(0,0) 返回的是空的list,所以for循环执行的次数实际上是0次。而列表表达式总会生成一个列表。

再精炼两行。。。 def triangles(): L = [1] while True: yield L L =[1] + [L[i]+L[i+1] for i in range(len(L)-1)] + [1]

crab666666

#15 Created at ... [Delete] [Delete and Lock User]

理解了

真精炼!!

free新鲜事

#17 Created at ... [Delete] [Delete and Lock User]

请问range(0)返回什么呢?


  • 1
  • 2

Reply