我刚开始学编程,需要澄清一下。 为
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
切片中 start和 stop 和 步长参数 都有时,需要注意取值方向。 步长为正,切片取值方向:从左向右,步长负时,取值方向:从右向左。 start和stop 取值方向 与 步长方向不一致时,结果为空列表。
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]是字符串的最后一个字符。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。