为什么例1和例2打印出来的结果不一样 python版本3.7和3.9都测试过。
例2改成 "Hello World" [11::-1] 就和例1结果一样
两个冒号 中间的这个值还可以设置为多少
这个例子明显是错误的,[11:0:-1],第二个数字是开区间,只能取到这个位置之前的那个数,也就是说,如果是倒过来切片的话,只能取到索引1。
改成[11::-1] 就相当于省略了终止位置,表示全部切片
见下面的测试和注释:
>>> txt = "Hello World"
>>> txt[::-1]
'dlroW olleH'
>>> txt[11::-1]
'dlroW olleH'
>>> txt[1000::-1]
'dlroW olleH'
>>> txt[1000:0:-1] #右区间是不包括的,所以这是错的
'dlroW olle'
>>>
>>> ''.join(reversed(txt)) #要么用reversed()来反转
'dlroW olleH'