我之前在此回答了Best way to loop over a python string backwards
我需要使用OP的原始想法,但我不太明白范围函数中stop参数的含义。 0-1是什么意思?从0到1?这不是一步吗?
答案 0 :(得分:2)
为什么你不能在之前回答的问题中使用逆转?
然而,要回答你原来的问题:
0-1实际上只是一个数字0-1,等于-1
范围的文档说明如下:range(start[, end[, step]])
。他的电话如下:range(len(string)-1, 0-1, -1)
开始 = len(string)-1
,这是字符串的最后一个字母。
结束 = 0-1
等于-1
,因此处理的最后一个字母为0
。请注意,range(0, 3)
实际上会0, 1, 2
,并在3
之前停止。同样适用于负数,它会在-1
之前停止,因此它会停在0
。
步骤 = -1
。 Step代表一次跳过多少个数字。 -1
表示每次都会将i
降低一个。
答案 1 :(得分:1)
0-1为-1,可以用任何一种方式编写:
>>> -1
-1
>>> 0-1
-1
让我们尝试一个字符串长度10,停止0-1广告步骤-1:
>>> range(10, 0-1, -1)
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
您将看到与-1而不是0-1相同的结果:
>>> range(10, -1, -1)
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
-1的步骤导致范围向后计数,让我们尝试一步1:
>>> range(10, 0-1, 1)
[]
如有疑问,请将其删除