python字符串切片str[start:stop:step] 为什么不能这样使用?

4654.png

感觉print(5,s[10:-1:-1])也行的,但是输出是空

难道-1和-12不是一个位置吗
这件事奇怪的地方在于,第8行和第9行,可以使用-1和10进行替换,但是中间的-12,我发现我找不到一个数可以替换,所有觉得奇怪

阅读 2.9k
3 个回答

因为你这里10跟-1是同一个位置,起点终点都一样,切片出来就是空了。相当于在操作s[10:10],切片的终点应该是字符串的长度,s[10:11]才能把最后一个位置取出来。

其实你的代码第9行已经回答了,-1和10是一个位置。
s[10:-1:-1]等于s[10:10:-1],start与stop相同,所以输出是空。

咳咳,切片是保前不保后。这点要注意,而且切片向来不用倒索引,因为正索引从0,倒索引从-1。不好区分。结果请采纳一代键客

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题