使用Python中的索引向后循环?

Loop backwards using indices in Python?

我正试图从100循环到0。我如何在Python中执行此操作?

for i in range (100,0)不起作用。


第三个论点是使用增量(文件在这里)。


In my opinion,this is the most readable:

1
2
for i in reversed(xrange(101)):
    print i,


1
for i in range(100, -1, -1)

And some slightly longer(and slower)solution:

ZZU1


一般来说,在Python中,你可以使用负指数从后面开始:

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

结果:

1
2
3
4
5
50
40
30
20
10

为什么你的代码不工作

你的代码很好,除了

第三个参数(EDOCX1&3)是以Default EDOCX1&4为依据的。因此,你必须把第三个参数列为-1的范围。

1
2
for i in range(100, -1, -1):
    print(i)

注:这包括输出中的100&Amp 0。

有多种方式。

更好的方式

为幽灵之路,检查佩普0322。

This is Python3 Pythonic example to print from 100 to 0(including 100&Amp 0).

1
2
for i in reversed(range(101)):
    print(i)

另一个解决方案:

1
2
3
4
z = 10
for x in range (z):
   y = z-x
   print y

结果:

1
2
3
4
5
6
7
8
9
10
10
9
8
7
6
5
4
3
2
1

TIP:如果你使用这一方法计算一个列表中的反馈,你会从它的价值中选择一个,因为你的列表将在0开始。


简单的答案可以解决你的问题:

1
2
3
for i in range(100):
    k = 100 - i
    print(k)

短暂甜蜜这是我的解决办法,当我在一起的时候。复制一条弦。

1
2
3
4
5
def reverse(text):
    string =""
    for i in range(len(text)-1,-1,-1):
        string += text[i]
    return string


你可以在你的100 - i案例中从一个变量中增加范围和亚tract。

1
2
for i in range( 0, 101 ):
    print 100 - i

埃多克斯1


哦,好吧,读错问题了,我猜这是在一个阵列后退?如果是这样的话

1
2
3
4
5
6
7
8
9
10
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])


我想在同一时间通过两个列表,所以我需要负指数。这是我的解决办法

1
2
3
a= [1,3,4,5,2]
for i in range(-1, -len(a), -1):
    print(i, a[i])

结果:

1
2
3
4
5
-1 2
-2 5
-3 4
-4 3
-5 1

我在一个共同的练习中试过这个(反向坦克在一条弦上不使用反向的Nor:-1)

1
2
3
4
5
6
7
8
9
10
11
12
13
def reverse(text):
    chars= []
    l = len(text)
    last = l-1
    for i in range (l):
        chars.append(text[last])
        last-=1

    result=""  
    for c in chars:
        result += c
    return result
print reverse('hola')

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