Mediana

Se il numero di elementi è dispari la mediana è data dall’elemento centrale nella lista ordinata.
Se il numero di elementi è pari la mediana è data dalla media aritmetica dei due elementi al centro della lista ordinata.

Soluzione 1

lista = [1, 8, 1, 1, 9, 2, 8]
 
lista.sort()                 # [1, 1, 1, 2, 8, 8, 9]
n = len(lista)               # 7
centro = n//2                # 3
if(n%2 == 1):                # 7%2 == 1 Sì
    mediana = lista[centro]  # 2
else: 
    mediana = (lista[centro-1]+lista[centro])/2

Soluzione 2

Se la lista originale deve rimanere inalterata realizza una copia ordinata e continua a lavorare su di essa

lista = [1, 8, 1, 1, 9, 2, 8]

lista2 = sorted(lista)       # [1, 1, 1, 2, 8, 8, 9]
...

Soluzione 3

Da Python 3.4 è disponibile il modulo statistics

import statistics 

lista = [1, 8, 1, 1, 9, 2, 8]

mediana = statistics.median(lista)