Python 循环和取出值

Python 循环和取出值,python,Python,它提出了以下几点: [100.0, 90.0] 100.0 [52.0, 75.0, 45.0, 20.0] 172.0 [12.0, 43.0, 55.0] 55.0 我试图删除最小的值,然后将其余的值加在一起,但似乎我离目标太远了。有人能给我指出正确的方向吗?平均值=观察值之和/观察值总数。那就是你错的地方 我还删除了if部分,其中从代码列表中删除了最小的数字。你为什么要这么做?在这种情况下不需要它 编辑:我从您发布的图像中添加了一个示例,以验证此代码是否正确 lists = [

它提出了以下几点:

[100.0, 90.0]

100.0

[52.0, 75.0, 45.0, 20.0]

172.0

[12.0, 43.0, 55.0]

55.0

我试图删除最小的值,然后将其余的值加在一起,但似乎我离目标太远了。有人能给我指出正确的方向吗?

平均值=观察值之和/观察值总数。那就是你错的地方

我还删除了if部分,其中从代码列表中删除了最小的数字。你为什么要这么做?在这种情况下不需要它

编辑:我从您发布的图像中添加了一个示例,以验证此代码是否正确

lists = [[100.0,90.0],[52.0,75.0,45.0,20.0],[12.0,43.0,55.0],[80.0, 75.0, 70.0, 65.0, 5.0]]
def printAverages(lists):
    for values in lists:
        print(values)
        row(values)

def row(values):
    num = 0
    observations = 0
    for number in values:
        if number != min(values):
            num += number
            observations += 1
    print(num / observations)

printAverages(lists)
最后一个列表
[80.0,75.0,70.0,65.0,5.0]
(从您提供的图像复制)的结果是
72.5
-如图所示


如果仍要从列表中删除最小值,然后打印没有该最小值的列表,则必须将
print
命令从函数
printmaverages(list)
移动到函数
行(values)

代码如下所示:

lists = [[100.0,90.0],[52.0,75.0,45.0,20.0],[12.0,43.0,55.0],[80.0, 75.0, 70.0, 65.0, 5.0]]
def printAverages(lists):
    for values in lists:
        row(values)

def row(values):
    num = 0
    observations = 0
    for number in values:
        if number == min(values):
            values.remove(number)
        else:
            num += number
            observations += 1
    print values
    print(num / observations)

printAverages(lists)

预期产量是多少?另外,修改正在循环的列表也不是一个好主意。输出应该是每个嵌套列表的平均值,不包括最小的数字。我这辈子都搞不懂。我在哪里修改的?有人愿意看吗?被困数小时我同意w/Railslide“修改循环列表不是一个好主意”我如何才能以不同的方式处理此问题?我以相反的方式处理此问题,而不是将其删除您使用的!=。非常感谢。我做这件事已经有一段时间了。那个print命令只是为了确保它运行正常,但无论如何还是非常感谢
lists = [[100.0,90.0],[52.0,75.0,45.0,20.0],[12.0,43.0,55.0],[80.0, 75.0, 70.0, 65.0, 5.0]]
def printAverages(lists):
    for values in lists:
        row(values)

def row(values):
    num = 0
    observations = 0
    for number in values:
        if number == min(values):
            values.remove(number)
        else:
            num += number
            observations += 1
    print values
    print(num / observations)

printAverages(lists)