Loop backwards using indices in Python?
我正试图从100循环到0。我如何在Python中执行此操作?
第三个论点是使用增量(文件在这里)。
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 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 |
你可以在你的
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 |