字符串切片和空字符串结果

时间:2019-02-15 03:20:16

标签: python string slice

在以下示例中:

s = '1234567'
s[-2:-5] == ''

对于为什么子字符串不是'654'而是空字符串,我感到困惑。

1 个答案:

答案 0 :(得分:3)

您忘记在切片中包含step参数。默认为1;因此,默认情况下,如果start大于stop,则切片将为空。将step指定为-1

s = '1234567'
print(s[-2:-5:-1])
# 654

从本质上讲,它将从索引-2开始,向后返回索引-5,而不是尝试前进到索引-5,这是不可能的。