You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除数组中的最小值,若存在多个仅删除首次出现的元素

删除NumPy数组中首次出现的最小值

嘿,这个需求用NumPy的内置函数就能轻松实现,直接看完整的解决方案:

import numpy as np

# 示例数组
a = np.array([2,6,2,1,6,1,9])

# 步骤1:获取数组的最小值
min_value = np.min(a)

# 步骤2:定位首次出现最小值的索引
# np.argwhere会返回所有匹配值的索引,取第一个即可
first_min_index = np.argwhere(a == min_value)[0][0]

# 步骤3:删除该索引对应的元素
result_array = np.delete(a, first_min_index)

print(result_array)  # 输出: [2 6 2 6 1 9]

关键步骤解释:

  • 找最小值:np.min(a)会直接返回数组中的最小元素值,这里就是1;
  • 定位首次出现的位置:np.argwhere(a == min_value)会返回一个二维数组,包含所有等于最小值的元素的索引(比如示例中是[[3], [5]]),我们取第一个元素的索引[0][0],就拿到了首次出现最小值的位置3;
  • 删除元素:np.delete(a, first_min_index)会创建一个新数组,移除指定索引的元素,不会修改原数组(如果需要修改原数组,可以直接赋值覆盖)。

边界情况说明:

  • 如果数组只有一个元素(比如np.array([5])),执行后会得到空数组array([], dtype=int64),这符合逻辑;
  • 如果数组中所有元素都是最小值(比如np.array([3,3,3])),执行后会删除第一个元素,得到array([3,3]),也满足“仅删除首次出现”的要求。

内容的提问来源于stack exchange,提问作者Edin Mahmutovic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:26:33