也许有人可以解释为什么反转字符串的特定切片操作不起作用。一定有一些关于切片的东西我不明白。基本操作:s[start:end:step]
给定
s='abcd'
要反转这个字符串,我可以使用默认值
s[::-1]
或者
s[-1::-1]
这些都很好,但为什么不
s[-1:-1:-1]
工作并给我整个字符串颠倒?它应该从字符串中的最后一个字符 (-1) 开始,步长为 -1。它应该在-1 之前下降到一个,即索引0。相反,我得到''。
for i in xrange(3, -2, -1):
print 's[-1:%d:-1] => ' %i,
print s[-1:i:-1]
产量:
s[-1:3:-1] => # didn't expect any output
s[-1:2:-1] => d
s[-1:1:-1] => dc
s[-1:0:-1] => dcb
s[-1:-1:-1] => # shouldn't this be 'dcba'?
我在这里想念什么?
(我确实看到了很多关于反转字符串的帖子,但是如果在某个地方解释了这个特定的项目,我就错过了)