Het gemiddelde van een lijst bepalen

Ik moet het gemiddelde van een lijst vinden in Python. Dit is mijn code tot nu toe

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

Ik'heb het zo gekregen dat het de waarden in de lijst bij elkaar optelt, maar ik'weet niet hoe ik het in hen moet laten delen?

l = [15, 18, 2, 36, 12, 78, 5, 6, 9]
sum(l) / len(l)
Commentaren (8)
Oplossing

Op Python 3.4+ kun je met statistics.mean()

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

import statistics
statistics.mean(l)  # 20.11111111111111

Op oudere versies van Python kun je

sum(l) / len(l)

Op Python 2 moet je len omzetten naar een float om een float deling te krijgen

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

Het is niet nodig om reduce te gebruiken. Het is veel langzamer en werd verwijderd in Python 3.

Commentaren (11)

Waarom zou je reduce() hiervoor gebruiken als Python een perfect cromulente sum() functie heeft?

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

(De float() is nodig om Python te dwingen een floating-point deling te doen).

Commentaren (2)