单独给出步骤时切片如何工作?

How slicing works when step is given separately?

我有一个 list 对象,如下所示:

lst = [50,34,98,8,10]

语句print(lst[::][::-1][::-1][::-1][::-1])的输出如下:

lst = [50,34,98,8,10]

请帮助我理解当 step 单独给出时切片是如何工作的

解释:

  1. 你首先做 lst[::] 这只是得到整个列表,它处理它是 lst[::1] 这给出:

    >>> lst[::1]
    [50, 34, 98, 8, 10]
    >>> 
    
  2. 然后您将倒转列表时间,但 4 是偶数所以根本不会倒转:

    >>> lst[::-1]
    [10, 8, 98, 34, 50]
    >>> lst[::-1][::-1]
    [50, 34, 98, 8, 10]
    >>> lst[::-1][::-1][::-1]
    [10, 8, 98, 34, 50]
    >>> lst[::-1][::-1][::-1][::-1]
    [50, 34, 98, 8, 10]
    >>>