繁体   English   中英

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

[英]If the first index is greater than or equal to the second the result is an empty string

在python切片中'如果第一个索引大于或等于第二个索引,则结果为空字符串'那么为什么以下操作返回字符串?

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

您提供的报价不正确或不完整:

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

请注意,如果使用反向索引比第一个索引更远,则确实会有一个空字符串。

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

python切片中的负数有效地从正数向后工作。 它们从字符串的末尾开始并向前移动。 所以您的代码说的是给我一个字符串,该字符串从第4个索引开始,一直到最后的2个为止。

如果索引为负,则从右开始计数。 -1是最后一个字符。 要从正确的索引位置访问字符串,我们需要使用-带有索引号。 因此,对于-2来说,它将像带字符直到l之前(对于给定的示例),并且其总长度必须为4。因此,它仅是应有的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM