Ermitteln des Durchschnitts einer Liste

Ich muss den Durchschnitt einer Liste in Python finden. Dies ist mein bisheriger Code

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

Ich habe es so hinbekommen, dass es die Werte in der Liste zusammenzählt, aber ich weiß nicht, wie ich es dazu bringe, sie zu teilen?

l = [15, 18, 2, 36, 12, 78, 5, 6, 9]
sum(l) / len(l)
Kommentare (8)
Lösung

Unter Python 3.4+ können Sie statistics.mean() verwenden.

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

import statistics
statistics.mean(l)  # 20.11111111111111

Auf älteren Python-Versionen können Sie

sum(l) / len(l)

In Python 2 muss man len in einen Float umwandeln, um eine Float-Division zu erhalten

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

Es besteht keine Notwendigkeit, reduce zu verwenden. Es ist viel langsamer und wurde in Python 3 entfernt.

Kommentare (11)

Warum sollten Sie reduce() dafür verwenden, wenn Python eine vollkommen flüssige sum() Funktion hat?

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

(Das float() ist notwendig, um Python zu zwingen, eine Fließkommadivision durchzuführen.)

Kommentare (2)