【发布时间】:2022-11-10 21:40:43
【问题描述】:
在python教程(https://docs.python.org/3/tutorial/introduction.html#strings)中, 切片被解释为将索引视为字符之间的指向,第一个字符的左边缘编号为 0。然后 n 个字符的字符串的最后一个字符的右边缘具有索引 n,例如:
继续说 - “从 i 到 j 的切片由分别标记为 i 和 j 的边缘之间的所有字符组成。”
但是,当我尝试打印以下两种情况时,它似乎错过了 P。
Case1: print(word[6:0:-1])--> 输出'nohty'
Case2: print(word[6:-6:-1])--> 输出'nohty'
谁能提供一个可能的解释为什么它不打印'nohtyP'? (附注 - 我知道我可以让末端空置以获得“P”。)
【问题讨论】:
-
是的,这是整个“将索引视为字符之间的指向”的一个缺陷。它适用于前向切片,但一旦您开始考虑向后切片,它就会崩溃。你已经达到了这种思维方式的极限。你将不得不转向一个更难记住但更准确的心智模型。
标签: python