我有一个包含4个值的数组,称为数组r
,使用numpy数组命令。
from numpy import array, amax, amin
r = array([r1,r2,r3,r4]
我需要总结这个数组的最大值和最小值:
g_1 = amax(r)+amin(r)
现在我需要将这个值(g_1
)与数组中其他两个元素的总和进行比较(我不知道编写这部分代码时的最大值是多少)我不知道该怎么做。
答案 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。不是最好的解决方案,你怎么看?