好的,所以我搜索了多个线程并遇到了关于反转列表的有用讨论,例如this和this;我从中得到的是使用
S = ("hello")
print(S[::-1])
或者
S = ("hello")
print(S[len(S):-len(S)-1:-1])
但我不明白这背后的逻辑!假设我想使用
S = ("hello")
print(S[len(S):0:-1])
我会得到'olle'而不是'olleh',因为0或'h'是'end'并且python停在那里;所以我的直觉是超过 0,即 -1,所以它会停在 -1 并包括 0:
S = ("hello")
print(S[len(S):-1:-1])
但是突然python什么都没有返回?!是因为python认为它是len(S)-1吗?哦,我的上帝.. 那么 S[::-1] 之间的“是”什么使它起作用?S[len(S):-len(S)-1:-1] 有什么意义?-5-1?等于-6 ...所以
S = ("hello")
S[6:-6:-1]
工作......所以这意味着python将包括 6, 5 , 4 , 3 , 2 , 1, 0 , -1 , - ,-3 ,-4,-5??