Python中range(1,1)返回什么?

# Python杨辉三角实现
def yanghuiTriangle():
    L = [1]
    L2 = []
    while True:
        yield L
        L = [1]+[L[x-1]+L[x] for x in range(1,len(L))]+[1]#这里如果是range(1,1)的情况前面的L[0]和L[1]中不是取不到值吗?
for item in yanghuiTriangle():
    print(item)
    if len(item)>10:
        break

L = [1]+[L[x-1]+L[x] for x in range(1,len(L))]+[1]#这里如果是range(1,1)的情况前面的L[0]和L[1]中不是取不到值吗?

阅读 20.5k
4 个回答

L = [1] 时, range(1,len(L))range(1, 1)返回[],空列表,所以通过for迭代,没有次数. 所以得到杨辉三角的第二行L = [1] + [1] = [1, 1].

>>> list(range(1,1))
[]

list(range(1,1)) 等同回傳[] yield 遞迴到底結束。

新手上路,请多包涵
range(1,1)

will return nothing but empty [],because Python range() never include end or stop number.
i.e. range(1,3) will give you 1,2

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题