Складывание отдельных элементов в списках Python
Хочу сложить все элементы из 2 ряда . Но выдает кашу из цифр . Подскажите как это решается.
universities = [
['California Institute of Technology', 2174, 37704],
['Harvard', 19627, 39849],
['Massachusetts Institute of Technology', 10566, 40732],
['Princeton', 7802, 37000],
['Rice', 5879, 35551],
['Stanford', 19535, 40569],
['Yale', 11701, 40500]
]
def enrollment_stats(universities):
return (sum (universities[0][1],universities[1][1], universities[2][1],universities[3][1],universities[4][1],universities[5][1], universities[6][1]))
print(enrollment_stats)
upd.
def enrollment_stats():
r = 0
p = 0
for u in universities:
r += u[1]
p += u[2]
return r , p
Подскажите пожалуйста как вывести результат чтобы получить вот такой вариант ?
Total students: 77,285
Total tuition: $ 271,905
Ответы (1 шт):
Автор решения: wchistow
→ Ссылка
Правильный код:
def enrollment_stats(universities):
r = 0
for u in universities:
r += u[1]
return r
Не надо писать 0, 1, 2, ..., для этого есть циклы
Функция
sum
суммирует элементы переданного ей списка, а вы передаёте много чисел. Если уж хочется сделать черезsum
, то можно сделать так:def enrollment_stats(universities): return sum([u[1] for u in universities])