如何在Python中使用range()生成以下列表?

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

当前回答

for i in range(8, 0, -1)

将解决这个问题。它将输出8到1,而-1表示反向列表

其他回答

使用reversed()函数:

reversed(range(10))

这更有意义。

更新:

如果你想让它是一个列表(正如btk指出的那样):

list(reversed(range(10)))

更新:

如果您希望仅使用range来实现相同的结果,则可以使用它的所有参数。范围(开始,停止,步长)

例如,要生成一个列表[5,4,3,2,1,0],您可以使用以下命令:

range(5, -1, -1)

这可能不太直观,但正如评论所提到的,这是更有效的,并且是反转列表的正确使用范围。

[9-i for i in range(10)]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

你不一定需要使用range函数,你可以简单地使用list[::-1],它应该以相反的顺序快速返回列表,而不使用任何添加。

因为range(n)生成了一个可迭代对象,所以你可以做各种各样的事情来产生你想要的结果,比如:

range(n)[::-1]

如果循环没问题,我们可以创建一个队列:

a = []
for i in range(n):
    a.insert(0,a)
return a

或者可以使用reverse()方法:

reverse(range(n))

获取对给定输入整数进行反转的反向输出。 例子 输入:5

答案应该是:

54321
1234
321
12
1

答案是:

def get_val(n):
    d = ''.join(str(i) for i in range(n, 0, -1))
    print(d)
    print(d[::-1][:-1])
    if n - 1>1:
        return get_vale(n-1)
    
    
get_val(12)