使用for循环,Python向后获取字符串

时间:2013-01-27 18:01:13

标签: for-loop python-3.x

我之前在此回答了Best way to loop over a python string backwards

我需要使用OP的原始想法,但我不太明白范围函数中stop参数的含义。 0-1是什么意思?从0到1?这不是一步吗?

2 个答案:

答案 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)
[]

如有疑问,请将其删除