Создать или добавить в список в словаре - можно ли его сократить?

Можно ли сократить этот код Python, чтобы его можно было читать с помощью itertools и наборов?

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

Я могу думать только об этом :

widget_types = zip(*widgets)[0]
dict([k, [v for w, v in widgets if w == k]) for k in set(widget_types)])
49
задан Mark Byers 10 November 2010 в 01:50
поделиться