我需要创建一个函数,它接收一个元组列表,然后输出每个tupple中的总最高,最低,平均和总数。
例如: 这就是它所需要的:
([(99,86,70,7),(100, 96, 65, 10), (50, 40, 29, 11)])
我需要一个在每个元组中获取最高int的函数,但仅在index [0]处。然后需要在索引[1]处将数字平均在一起,然后在索引[2]处找到最低的int,然后将每个tupple的最后一个索引中的值相加。
所以输出看起来像这样:
(100, 74, 29, 28)
这就是我现在所拥有的。它的完全错误和愚蠢,我发现元组非常令人困惑。我正在尝试仅使用 while
/ for
循环,但我只是对元组和列表感到困惑。
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)])
答案 0 :(得分:4)
def grades(alist):
highest, average, lowest, sumvalues = alist[0]
for i in alist[1:]:
if i[0] > highest: highest = i[0]
average += i[1]
if i[2] < lowest: lowest = i[2]
sumvalues += i[3]
average = average / len(alist)
return highest, average, lowest, sumvalues
答案 1 :(得分:4)
列表:
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)