【问题标题】:numpy negative indexing a[:-0]numpy 负索引 a[:-0]
【发布时间】:2014-03-21 18:11:16
【问题描述】:

我想使用数组切片来修剪我的数组 即

a_trimmed = a[trim_left:-trim_right]

这很好,除非trim_right 为0,否则我得到a[trim_left:0],这是一个空数组。

我想我可以做到

a[trim_left:a.shape[0]-trim_right]

但它更丑陋。最简洁的表达方式是什么?

【问题讨论】:

  • a[trim_left:] 可能是?
  • @m9_psy,是的,这是我想要的行为,因为 a[:-0] 等于 a[:] 而不是 a[0]。我不想添加额外的条件来检查 trim_right == 0。
  • 为什么不让trim_righttrim_left 默认为None 而不是0? (这样他们就会达到预期的效果。)否则,你必须做trim_right = None if trim_right == 0 else trim_right
  • 我发现你的假设非常简洁易读。
  • @JoeKington 他可能正在循环切片

标签: python numpy


【解决方案1】:

恕我直言,这不是那么丑陋。我能想出缩短它的唯一方法是将a.shape[0]替换为len(a)

【讨论】:

    【解决方案2】:

    None 是一个有效的切片端点:

    a[trim_left:-trim_right or None]
    

    【讨论】:

      猜你喜欢
      • 2019-06-02
      • 1970-01-01
      • 2014-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-01
      • 2018-11-24
      • 1970-01-01
      相关资源
      最近更新 更多