【问题标题】:Python Special Colon InquiryPython 特殊冒号查询
【发布时间】:2016-08-31 16:44:27
【问题描述】:
sortedWinnerIndices = winnerIndices[-numActive:][::-1]

谁能告诉我这里发生了什么?

WinnerIndices 长 2048 个整数,Numpy 数组。我在某处读到 [::-1] 反转了结果,但我仍然无法弄清楚这个函数是如何选择一个winnerIndices 子集的?

【问题讨论】:

标签: python numpy operator-keyword colon


【解决方案1】:

把它分成几个步骤。相当于:

subset = winnerIndices[-numActive:]
sortedWinnerIndices = subset[::-1]

第一条语句选择数组中的最后一个numActive 元素。第二行反转它。因此,当您将它们组合在一起时,您会以与原始数组相反的顺序获得最后一个 numActive 元素。

【讨论】:

  • 子集是从-numActive 到winnerIndices 末尾的切片
  • 这不就是我写的另一种说法吗?
  • 您好,谢谢两位的回答。那么排序是先完成还是最后完成?因为我没有在结果列表中看到属于最后 40 个条目的条目?这就是为什么我对你们所说的话的假设在我看来是可疑的......
【解决方案2】:
winnerIndices[-numActive:]

Above 从-numActive 索引到原始列表末尾的切片

x[::-1]

这反转了 x

【讨论】:

    猜你喜欢
    • 2011-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多