我试着从100循环到0。在Python中如何做到这一点?

I在(100,0)范围内不成立。


有关为什么range以这种方式工作的讨论,请参见为什么slice和range是独占的?


当前回答

通常在Python中,你可以使用负号从后面开始:

numbers = [10, 20, 30, 40, 50]
for i in xrange(len(numbers)):
    print numbers[-i - 1]

结果:

50
40
30
20
10

其他回答

另一个解决方案:

z = 10
for x in range (z):
   y = z-x
   print y

结果:

10
9
8
7
6
5
4
3
2
1

提示: 如果你使用这个方法来计数列表中的索引,你会希望从y值开始-1,因为你的列表索引将从0开始。

哦,好吧,你的问题看错了,我猜是关于在数组中反向移动?如果是这样,我有这个:

array = ["ty", "rogers", "smith", "davis", "tony", "jack", "john", "jill", "harry", "tom", "jane", "hilary", "jackson", "andrew", "george", "rachel"]


counter = 0   

for loop in range(len(array)):
    if loop <= len(array):
        counter = -1
        reverseEngineering = loop + counter
        print(array[reverseEngineering])

这对我很管用

for i in range(5)[::-1]:
    print(i,end=' ')

输出:4 3 2 10 0

尝试range(100,-1,-1),第三个参数是要使用的增量(这里有文档)。

(“范围”选项,开始,停止,步骤在这里有记录)

a = 10
for i in sorted(range(a), reverse=True):
    print i