小编Alt*_*ros的帖子

忽略一个最小值和一个最大值的数组总和

我有一个程序可以找到数组中的最高和最低值,排除它们,然后总结该数组中的其余数字。它适用于大多数随机输入,除非该数组中存在最高或最低数字的重复项

def sum_array(arr):
    if arr is None:
        return 0
    if len(arr) < 2:
        return 0
    return sum([i for i in arr if i != max(arr) and i != min(arr)])
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果 I print(sum_array([6, 0, 1, 10, 10])),它只返回 7 而不是 17。

它完全排除了最高数字。

我如何让程序识别出有重复项并只取其中之一作为总和,在这种情况下,它可以返回 17?

python list

5
推荐指数
1
解决办法
195
查看次数

标签 统计

list ×1

python ×1