我懂了:
#slicing: [start:end:step]
s = 'I am not the Messiah'
#s[0::-1] = 'I'
Run Code Online (Sandbox Code Playgroud)
所以在这种情况下
start=0, end=0, step=-1
Run Code Online (Sandbox Code Playgroud)
为什么是
s[0::-1] == 'I'
>>>> True
Run Code Online (Sandbox Code Playgroud)
因为,-1在这种情况下是反向步进。
因此当你说
s[0::-1]
Run Code Online (Sandbox Code Playgroud)
0你实际上是从位置向后退到包含的-1 位置0
因此,I根据您的情况返回。
请注意,当我说位置时,0我-1的意思是它将包含位置 0 并在之后停止切片,因为-1索引无效(这与反向索引不同,如my_list[-1])