Find min, max, and average of a list
from __future__ import divisionsomelist = [1,12,2,53,23,6,17] max_value = max(somelist)min_value = min(somelist)avg_value = 0 if len(somelist) == 0 else sum(somelist)/len(somelist)
If you want to manually find the minimum as a function:
somelist = [1,12,2,53,23,6,17] def my_min_function(somelist): min_value = None for value in somelist: if not min_value: min_value = value elif value < min_value: min_value = value return min_value
Python 3.4 introduced the statistics
package, which provides mean
and additional stats:
from statistics import mean, mediansomelist = [1,12,2,53,23,6,17]avg_value = mean(somelist)median_value = median(somelist)
Only a teacher would ask you to do something silly like this.You could provide an expected answer. Or a unique solution, while the rest of the class will be (yawn) the same...
from operator import lt, gtdef ultimate (l,op,c=1,u=0): try: if op(l[c],l[u]): u = c c += 1 return ultimate(l,op,c,u) except IndexError: return l[u]def minimum (l): return ultimate(l,lt)def maximum (l): return ultimate(l,gt)
The solution is simple. Use this to set yourself apart from obvious choices.