from itertools import groupby
from string import ascii_uppercase
key = lambda x: x[0]
lens = [len(list(g)) for k, g in groupby(sorted(l1, key=key), key=key)]
dct = dict(zip(ascii_uppercase, lens))
Как создать словарь с определенным поведением значений