Finde gennemsnittet af en liste

Jeg skal finde gennemsnittet af en liste i Python. Dette er min kode indtil videre

l = [15, 18, 2, 36, 12, 78, 5, 6, 9]
print reduce(lambda x, y: x + y, l)

Jeg'har fået den til at lægge værdierne i listen sammen, men jeg ved ikke hvordan jeg skal få den til at dividere i dem?

l = [15, 18, 2, 36, 12, 78, 5, 6, 9]
sum(l) / len(l)
Kommentarer (8)
Løsning

På Python 3.4+ kan du bruge statistics.mean()

l = [15, 18, 2, 36, 12, 78, 5, 6, 9]

import statistics
statistics.mean(l)  # 20.11111111111111

På ældre versioner af Python kan du bruge

sum(l) / len(l)

På Python 2 skal du konvertere len til et float for at få float division

sum(l) / float(len(l))

Der er ikke behov for at bruge reduce. Det er meget langsommere og blev fjernet i Python 3.

Kommentarer (11)

Hvorfor skulle du bruge reduce() til dette, når Python har en perfekt kromulent sum()-funktion?

print sum(l) / float(len(l))

(float() er nødvendig for at tvinge Python til at foretage en division med flydende komma.)

Kommentarer (2)