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

问题描述 投票:0回答:1

在以下示例中:

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

我很困惑为什么子串不是'654'而是空字符串。

python string slice
1个回答
3
投票

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

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

从本质上讲,它将从指数-2开始向后指向-5,而不是试图前进指数-5,这是不可能的。

© www.soinside.com 2019 - 2024. All rights reserved.