可以使用itertools和set來縮短這個Python代碼並仍然可讀嗎?創建或追加到字典中的列表 - 可以縮短嗎?
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)])
從來不知道這一點。涼! – 2010-11-10 11:04:06