Самый простой способ сделать это, когда ваши веса являются относительно небольшими целыми числами (например, в вашем примере), состоит в том, чтобы построить длинную строку, содержащую все символы в соответствующих весах, и выбрать из нее случайный случай:
import random
d = {'A': 68, 'B': 62, 'C': 47, 'D': 16, 'E': 81}
s = ''.join(k*v for k,v in d.items())
random.choice(s)
Обратите внимание, что этот метод будет использовать довольно много памяти, если ваши весы большие, и в этом случае вы можете предпочесть другое решение.