当前位置:  开发笔记 > 编程语言 > 正文

查找列表的"居中平均值"

如何解决《查找列表的"居中平均值"》经验,为你挑选了1个好方法。

"返回整数列表的"居中"平均值,我们会说这是值的平均值,除了忽略列表中的最大值和最小值.如果有最小值的多个副本,则忽略一个复制,同样为最大值.使用整数除法产生最终平均值.您可以假设列表长度为3或更长."

这是我在家庭作业中遇到的一个问题,我很难找到如何找到最大/最小的数字并将它们从列表中删除.这是我到目前为止所拥有的.它适用于10/14我必须通过的场景..我认为这只是因为它抓住了中位数

def centered_average(nums):
x = 0
for i in range(len(nums)):
    x = i + 0
y = x + 1
if y%2 == 0:
    return (nums[y/2] + nums[(y/2)+1]) / 2
else:
    return nums[y/2]

SirGuy.. 5

对数组进行排序肯定是更简洁的代码,这里是手动循环的替代方案

    max_value = nums[0]
    min_value = nums[0]
    sum = 0
    for x in nums:
        max_value = max(max_value, x)
        min_value = min(min_value, x)
        sum += x

    return (sum - max_value - min_value) / (len(nums) - 2)

这只会添加所有内容并在最后删除最大值和最小值.



1> SirGuy..:

对数组进行排序肯定是更简洁的代码,这里是手动循环的替代方案

    max_value = nums[0]
    min_value = nums[0]
    sum = 0
    for x in nums:
        max_value = max(max_value, x)
        min_value = min(min_value, x)
        sum += x

    return (sum - max_value - min_value) / (len(nums) - 2)

这只会添加所有内容并在最后删除最大值和最小值.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有