Πρέπει να βρω το μέσο όρο μιας λίστας στην Python. Αυτός είναι ο κώδικάς μου μέχρι στιγμής
l = [15, 18, 2, 36, 12, 78, 5, 6, 9]
print reduce(lambda x, y: x + y, l)
I've got it so it adds together the values in the list, but I don't know how to make it divide into them?
l = [15, 18, 2, 36, 12, 78, 5, 6, 9]
sum(l) / len(l)
Στην Python 3.4+ μπορείτε να χρησιμοποιήσετε statistics.mean()
l = [15, 18, 2, 36, 12, 78, 5, 6, 9]
import statistics
statistics.mean(l) # 20.11111111111111
Σε παλαιότερες εκδόσεις της Python μπορείτε να κάνετε
sum(l) / len(l)
Στην Python 2 πρέπει να μετατρέψετε το len
σε float για να πάρετε διαίρεση float
sum(l) / float(len(l))
Δεν χρειάζεται να χρησιμοποιήσετε το reduce
. Είναι πολύ πιο αργή και αφαιρέθηκε στην Python 3.
Γιατί να χρησιμοποιήσετε τη συνάρτηση reduce()
γι' αυτό, όταν η Python έχει μια τέλεια συνάρτηση sum()
;
print sum(l) / float(len(l))
(Η float()
είναι απαραίτητη για να αναγκάσει την Python να κάνει διαίρεση κινητής υποδιαστολής).