包含4个元素的数组:需要比较max + min和其他2个元素

时间:2014-04-24 19:20:24

标签: python arrays numpy

我有一个包含4个值的数组,称为数组r,使用numpy数组命令。

from numpy import array, amax, amin
r = array([r1,r2,r3,r4]

我需要总结这个数组的最大值和最小值:

g_1 = amax(r)+amin(r)

现在我需要将这个值(g_1)与数组中其他两个元素的总和进行比较(我不知道编写这部分代码时的最大值是多少)我不知道该怎么做。

4 个答案:

答案 0 :(得分:1)

from numpy import sum
g_2 = sum(r) - g_1
comp = g_1 <= g_2

答案 1 :(得分:0)

数组中其他两个元素的总和只是数组中所有元素的总和,减去最大值和最小值:sum(r) - g_1

答案 2 :(得分:0)

您也可以对数组进行排序,整体上可能需要较少的比较:

r_sort = np.sort(r)
g_1 = r_sort[0] + r_sort[-1]
g_2 = r_sort[1] + r_sort[2]

答案 3 :(得分:0)

我尝试使用 for if 来查看我是否可以正确执行并且我编写的代码似乎有用:

from numpy import array, amax, amin
r=array([r1,r2,r3,r4])
g_1=amax(r)+amin(r)
for j in range (size(r)):
    if r[j] != amax(r) and r[j] != amin(r):
         g_2+=r[j]

此代码似乎正确返回我正在寻找的g_2。不是最好的解决方案,你怎么看?