使用for循环创建反向编号列表

时间:2013-11-17 22:08:58

标签: python list python-2.7 for-loop

我有这个功能。

def creates(n): 
    output = []
    for i in range(1, n+1):
        output.append(range(-1, i-1))
    return output

当我在代码中不使用反向函数打印创建(4)时,我希望它返回[[1],[2,1],[3,2,1],[4,3,2,1]]。我知道这是可能的,我觉得我正在使用错误的追加,但我不知道问题在哪里。谢谢!

1 个答案:

答案 0 :(得分:6)

你的意思是:

output.append(range(i, 0, -1))

由于range(4, 0, -1)(例如)返回[4, 3, 2, 1]

请注意,这可以用较少的行写成列表理解:

def creates(n):
    return [range(i, 0, -1) for i in range(1, n+1)]