如果第一个索引大于或等于第二个索引,则结果为空字符串

2024-06-06 09:53:03 发布

您现在位置:Python中文网/ 问答频道 /正文

在python切片中,“如果第一个索引大于或等于第二个索引,则结果是空字符串”,那么为什么下面的操作返回字符串?你知道吗

>>> msg = 'HelloWorld'
>>> msg[4:-2]
'oWor'

Tags: 字符串切片msghelloworldowor
3条回答

您给出的报价不正确或不完整:

如果使用负数,它将用作文件的反向索引,这意味着[4:-2]等价于[4:len(msg)-2][4:8]

请注意,如果您使用反向索引来比第一个索引更进一步,那么您确实会有一个空字符串。你知道吗

msg[4:-8] # Equivalent to msg[4:1], by the same formula
>>> ''

python切片中的负数有效地从正数向后工作。它们从绳子的末端开始向前移动。所以你的代码是给我一个从第4个索引开始,一直到最后2的字符串。你知道吗

如果是负数,则从右开始计数。-1是最后一个字符。要从正确的索引位置访问字符串,我们需要使用-with index number。所以对于-2,它就像在l之前取字符(例如给定的例子),它的总长度必须是4。所以它将是唯一的。你知道吗

相关问题 更多 >