如何在Python中使用range()生成以下列表?
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
如何在Python中使用range()生成以下列表?
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
当前回答
因为range(n)生成了一个可迭代对象,所以你可以做各种各样的事情来产生你想要的结果,比如:
range(n)[::-1]
如果循环没问题,我们可以创建一个队列:
a = []
for i in range(n):
a.insert(0,a)
return a
或者可以使用reverse()方法:
reverse(range(n))
其他回答
for i in range(8, 0, -1)
将解决这个问题。它将输出8到1,而-1表示反向列表
你可以使用range(10)[::-1],它和range(9, -1, -1)是一样的,而且可以说可读性更强(如果你熟悉常见的序列[::-1]Python习语)。
除了可读性,反向(range(n))似乎比range(n)[::-1]更快。
$ python -m timeit "reversed(range(1000000000))"
1000000 loops, best of 3: 0.598 usec per loop
$ python -m timeit "range(1000000000)[::-1]"
1000000 loops, best of 3: 0.945 usec per loop
如果有人想知道的话:)
range(9,-1,-1)
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
你可以用range() BIF打印反向数字,比如,
for number in range ( 10 , 0 , -1 ) :
print ( number )
输出将是 (10、9、8、7、6、5、4、3、2、1]
Range() -范围(开始,结束,递增/递减) 哪里开始是包括,结束是排他和增量可以是任何数字和行为像步骤