在 Python 数组中使用 -1 索引的无法解释的行为

Unexplained behaviour with -1 indexing in Python array

当我发现这个时,我正试图做一些字符串操作:

s = "hefehefe"

l = len(s)

s[:l] # Outputs `hefehefe`

s[l-1::-1] # Outputs `hefehefe`

s[-1] # Outputs 'h'

s[l-1:-1:-1] # Outputs empty ' '

为什么Python在执行最后一行时无法识别索引为-1的迭代结束?这是列表索引的已知行为吗?

你的一些断言完全是错误的:你说

s[l-1::-1] # Outputs `hefehefe`
s[-1] # Outputs 'h'

但任何拥有 Python 交互式解释器和复制粘贴能力的人都可以看到:

>>> s[l-1::-1] # Outputs `hefehefe`
'efehefeh'
>>> s[-1] # Outputs 'h'
'e'

请不要做出如此容易验证的简单、错误的断言:这不好