Python 关于切片的一些混淆[:]

Python 关于切片的一些混淆[:],python,Python,为什么这两个打印出相同的东西? 第二个不应该是“aedib”吗 alphabet='abide' >>>alphabet[-1::-1] 'ediba' >>>alphabet[::-1] 'ediba' 将反转您的字符串。为什么?在第一个冒号之前没有值,因此它统计在列表的开始索引处。然后,仍然没有值,所以您一直走到列表的末尾。第三,你有-1,所以你增加了-1,换句话说,你是在倒退 它相当于字母表[-1::-1],因为您只要求从最后一个字符开始,它已经开始了

为什么这两个打印出相同的东西? 第二个不应该是“aedib”吗

alphabet='abide'
>>>alphabet[-1::-1]
'ediba'
>>>alphabet[::-1]
'ediba'
将反转您的字符串。为什么?在第一个冒号之前没有值,因此它统计在列表的开始索引处。然后,仍然没有值,所以您一直走到列表的末尾。第三,你有
-1
,所以你增加了-1,换句话说,你是在倒退


它相当于字母表[-1::-1],因为您只要求从最后一个字符开始,它已经开始了。

为什么它应该是“aedib”?你为什么不相信翻译基本上,两个切片对于解释器都是等效的。两个切片都等效于
字母表[None:None:-1]
字母表[-1:-6:-1]
可能是更好的副本
alphabet[::-1]