Python在列表的元组中查找max、average、min和add-up值

Python在列表的元组中查找max、average、min和add-up值,python,while-loop,tuples,Python,While Loop,Tuples,我需要创建一个函数,它接收一个元组列表,然后输出每个元组中的最高、最低、平均和总计 例如: 这就是它所需要的: ([(99,86,70,7),(100, 96, 65, 10), (50, 40, 29, 11)]) 我需要一个在每个元组中接受最高int的函数,但只在索引[0]处。然后,它需要将索引[1]处的数字平均起来,然后在索引[2]处找到最低的整数,然后将每个元组的最后一个索引中的值相加 因此,输出将如下所示: (100, 74, 29, 28) 这就是我现在拥有的。它完全错误而且

我需要创建一个函数,它接收一个元组列表,然后输出每个元组中的最高、最低、平均和总计

例如: 这就是它所需要的:

([(99,86,70,7),(100, 96, 65, 10), (50, 40, 29, 11)]) 
我需要一个在每个元组中接受最高int的函数,但只在索引[0]处。然后,它需要将索引[1]处的数字平均起来,然后在索引[2]处找到最低的整数,然后将每个元组的最后一个索引中的值相加

因此,输出将如下所示:

(100, 74, 29, 28) 
这就是我现在拥有的。它完全错误而且愚蠢,我发现元组非常混乱。我试图只使用
来实现这一点,而
/
用于
循环,但我只是对元组和列表感到困惑

def grades(listt):
    count=0
    while count < len(listt):
        x=();
        for i in range(0, len(listt)):
            x(listt(0[count])) > x(listt(i[count]))
            print x[count]

print grades([(99,86,70,7),(100, 96, 65, 10), (50, 40, 29, 11)]) 
def等级(列表):
计数=0
当计数x(listt(i[count]))
打印x[计数]
打印等级([(99,86,70,7)、(100、96、65、10)、(50、40、29、11)])
def等级(列表):
最高、平均、最低、sumvalues=alist[0]
因为我在列表[1:]:
如果i[0]>highest:highest=i[0]
平均值+=i[1]
如果i[2]<最低:最低=i[2]
sumvalues+=i[3]
平均值=平均值/长度(列表)
返回最高值、平均值、最低值和最小值
def等级(列表):
最高、平均、最低、sumvalues=alist[0]
因为我在列表[1:]:
如果i[0]>highest:highest=i[0]
平均值+=i[1]
如果i[2]<最低:最低=i[2]
sumvalues+=i[3]
平均值=平均值/长度(列表)
返回最高值、平均值、最低值和最小值
有关列表:

grades = [(99,86,70,7),(100, 96, 65, 10), (50, 40, 29, 11)]
你会做:

toFindHighest, toFindAverage, toFindLowest, toFindSum = zip(*grades)

highest = max(toFindHighest)
average = sum(toFindAverage) / float(len(toFindAverage))
lowest = min(toFindLowest)
total = sum(toFindSum)
名单如下:

grades = [(99,86,70,7),(100, 96, 65, 10), (50, 40, 29, 11)]
你会做:

toFindHighest, toFindAverage, toFindLowest, toFindSum = zip(*grades)

highest = max(toFindHighest)
average = sum(toFindAverage) / float(len(toFindAverage))
lowest = min(toFindLowest)
total = sum(toFindSum)

它更优雅,但大约慢1.5倍。它更优雅,但大约慢1.5倍。