如何删除数组中的最小数字,如果有几个最小数字,则删除第一个

时间:2018-01-14 15:14:10

标签: python arrays python-3.x numpy minimum

我正在尝试创建一个脚本,其中输入是一个包含随机数的数组。我尝试删除数组中最低的数字,这是没问题的。但是,如果数组中出现多次此数字,我该如何确保它只是第一次出现这个数字被删除?

假设我们有以下数组:

a = np.array([2,6,2,1,6,1,9])

这里最低的数字是1,但由于它出现了两次,我只想删除第一次出现,所以我得到了以下数组:

 a = np.array([2,6,2,6,1,9])

3 个答案:

答案 0 :(得分:1)

一种简单的方法是

   assets {
    minifyJs = true
    minifyCss = true
    includes = ["stylesheets/*"]
    includes = ["javascripts/*"]
    includes = ["images/*"]
    includes = ["fonts/*"]  
}

答案 1 :(得分:0)

由于您使用的是NumPy,而不是本机Python列表:

a = np.array([2,6,2,1,6,1,9])

a = np.delete(a, a.argmin())

print(a)
# [2 6 2 6 1 9]

np.delete:返回一个新的数组,其中包含一个沿着轴删除的子数组。

np.argmin:返回沿轴的最小值的索引。

使用NumPy数组,您无法在列表中删除del的元素。

答案 2 :(得分:-1)

你可以先简单地做两件事然后再换班。例如

var list = [2, 1, 4, 5, 1];
list=list.sort(); // result would be like this [1,1,2,4,5]
list=list.shift();// result would be [1,2,4,5]