我明白了:
#slicing: [start:end:step]
s = 'I am not the Messiah'
#s[0::-1] = 'I'
所以在这种情况下
start=0, end=0, step=-1
为什么是
s[0::-1] == 'I'
>>>> True
答案 0 :(得分:3)
因为,-1
在这种情况下是相反的步进。
因此,当您说
s[0::-1]
您实际上是从位置0
向后退到-1
其中包含0
的地方
因此,在您的情况下返回I
。
请注意,当我说位置0
到-1
时,我的意思是它将包含位置0并在之后停止切片,因为-1
索引无效(这与反向索引不同)像my_list[-1]
)
答案 1 :(得分:1)
因为您的分片每次从索引0开始,并从步骤-1开始,这意味着它立即触及了边界,仅将序列中的第一项(即'I'
)留在了分片中。