Gerando números aleatórios com probabilidades ponderadas em python

Dada uma matriz inteira positivaa, o objetivo é gerar 5 números aleatórios com base no peso que eles têm na matriz.

Por exemplo:

a = [2,3,4,4,4,4,4,6,7,8,9]

Nesse caso, o número 4 apareceu 5 vezes; nesse caso, o número 4 deve ter a probabilidade de 5/11 aparecer.

Nenhum número deve ser repetido.