string = "HELLO"
print string[::-1] #as expected
print string[0:6:-1] #empty string why ?
我惊讶地发现在 python 中反转字符串是多么容易,但后来我偶然发现了这一点并迷路了。有人可以解释为什么第二个反向不起作用吗?
最佳答案
第二个字符串为空的原因是因为您告诉编译器每次都从 0 开始,在 6 结束,步进 -1 个字符。
由于编译器永远不会通过重复将 -1 加到 0(变为 0、-1、-2、-3、...)得到大于 6 的数字,因此编译器被编程为返回一个空字符串。
尝试 string[6::-1]
,这会起作用,因为重复将 -1 加到 6 将得到 -1(超过字符串末尾)。
注意:这个答案主要是对@dmcdougall、@Ben_Love 和@Sundeep 的评论的汇编,并带有更多解释
关于python - 反转字符串 Python 切片表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40253256/