<分区> 分区>
我试图理解使用切片索引和步长反转切片背后的逻辑。
首先,我可以像这样使用切片步骤反转字符串:
a = "Hello"
a[::-1]
>>> 'olleH'
此外,我可以像这样只反转字符串的一部分:
a = "Hello"
a[:2:-1]
>>> 'ol'
但是当我尝试像这样使用另一个范围来反转字符串时:
a = "Hello"
a[1:3:-1]
>>> ''
我得到一个空字符串。
但是,如果我像这个例子那样反转范围:
a = "Hello"
a[4:1:-1]
>>> 'oll'
我得到索引 1 和 4 之间的反转切片。
但是,如果我错了请纠正我,我知道切片中的第一个索引必须小于第二个索引。
这就是为什么当我运行这个例子时:
a = "Hello"
a[4:1]
>>> ''
我得到一个空字符串。
那么,有人可以向我解释为什么在具有负步长的反转范围有效时反转字符串(切片),并且使用切片中第一个索引小于第二个索引的逻辑将得到一个空字符串。
感谢您的回答。
