【问题标题】:How slicing works when step is given separately? [closed]单独给出 step 时切片如何工作? [关闭]
【发布时间】:2021-11-15 12:35:14
【问题描述】:

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

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

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

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

请帮助我了解单独给出step 时切片的工作原理

【问题讨论】:

  • 我为您对lst 的谨慎命名表示赞赏。感谢您没有重写内置方法。
  • 您期待什么行为?

标签: python python-3.x list slice


【解决方案1】:

解释:

  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]
    >>> 
    

【讨论】:

    猜你喜欢
    • 2017-12-21
    • 1970-01-01
    • 2020-04-28
    • 2018-10-27
    • 2012-05-05
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多