Encontrar a média de uma lista

Tenho de encontrar a média de uma lista em Python. Este é o meu código até agora.

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

I'consegui juntar os valores da lista, mas eu não'não sei como dividi-los neles?

l = [15, 18, 2, 36, 12, 78, 5, 6, 9]
sum(l) / len(l)
Comentários (8)
Solução

Em Python 3.4+ você pode utilizar statistics.mean()

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

import statistics
statistics.mean(l)  # 20.11111111111111

Em versões anteriores do Python você pode fazer

sum(l) / len(l)

Em Python 2 você precisa converter o len em um flutuador para obter uma divisão de flutuadores

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

Não há necessidade de utilizar o `reduzir'. Ele é muito mais lento e foi removido em Python 3.

Comentários (11)

Por que você utilizaria reduce() para isso quando Python tem uma função perfeitamente cromulenta sum()?

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

(O float() é necessário para forçar Python a fazer uma divisão de ponto flutuante).

Comentários (2)