Créer ou ajouter à une liste dans un dictionnaire - cela peut-il être raccourcie?

Peut ce code Python être raccourcie et toujours être lisible à l'aide de itertools et de jeux?

result = {}
for widget_type, app in widgets:
    if widget_type not in result:
        result[widget_type] = []
    result[widget_type].append(app)

Je peux penser de cela seulement:

widget_types = zip(*widgets)[0]
dict([k, [v for w, v in widgets if w == k]) for k in set(widget_types)])
InformationsquelleAutor culebrón | 2010-11-10