Не самый оптимальный способ сделать это, но следует за большинством из этого.
import string
alphabets = string.ascii_lowercase
tokens = [[46565], [44460], [73, 2062], [1616, 338], [9424, 24899], [1820, 11268], [43533, 5356], [9930, 1053], [260, 259, 1151], [83, 31840, 292, 3826]]
numbering = {(ord(k)-96):k for k in alphabets}
output = {k:[] for k in alphabets}
lengths = list(map(len,tokens))
for k, v in zip(lengths, tokens):
output[numbering[k]].append(v)
print(output)
Это вывод:
{'a': [[46565], [44460]], 'b': [[73, 2062], [1616, 338], [9424, 24899], [1820, 11268], [43533, 5356], [9930, 1053]], 'c': [[260, 259, 1151]], 'd': [[83, 31840, 292, 3826]], 'e': [], 'f': [], 'g': [], 'h': [], 'i': [], 'j': [], 'k': [], 'l': [], 'm': [], 'n': [], 'o': [], 'p': [], 'q': [], 'r': [], 's': [], 't': [], 'u': [], 'v': [], 'w': [], 'x': [], 'y': [], 'z': []}