开发者社区> 问答> 正文

Python中的索引和切片

我刚开始学编程,需要澄清一下。 为

s = "abcdef"
print(s[0:2:-1])

输出是一个空字符串。我不太明白的是为什么print(s[:2:-1])有一个fed的输出,而print(s[0:2:-1])没有。 问题来源StackOverflow 地址:/questions/59385287/indexing-and-slicing-in-python

展开
收起
kun坤 2019-12-26 10:46:11 823 0
2 条回答
写回答
取消 提交回答
  • 不懂的太多

    切片中 start和 stop 和 步长参数 都有时,需要注意取值方向。 步长为正,切片取值方向:从左向右,步长负时,取值方向:从右向左。 start和stop 取值方向 与 步长方向不一致时,结果为空列表。

    2022-03-23 22:06:47
    赞同 展开评论 打赏
  • print(s[:2:-1])和print(s[0:2:-1])是不一样的——它和print(s[None:2:-1])是一样的。当您省略一个切片参数或使用None时,端点将被替换。如果步长是负数,那么起始点就是序列的结束点,而结束点就是序列的开始点。print(s[0:2:-1])从s[0]到s[2],但是它不能,因为2 > 0,而且没有办法从0数到2。print(s[:2:-1])从s[-1]到s[2],因为s[-1]是字符串的最后一个字符。

    2019-12-26 10:46:18
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载