Marco De Paoli wrote: > Il giorno 21 settembre 2012 15:33, Marco Beri <marcob...@gmail.com> ha > scritto: > >> A me piace di più così: >> >> result = dict((c, []) for c in categories) >> for k, v in base: >> result[k].append(v) >> >> La list comprehension usata per risparmiare il for non mi gusta >> troppo... >> > > yess, molto più leggibile > ...in effetti usare i side-effect di una list comprehension non > garbava molto neppure a me > > grazie, > Marco
Occhio che se 'base' contiene tuple il cui primo elemento non è in 'categories' ottieni un "KeyError". Una diversa soluzione potrebbe essere: result = {} for k,e in base: if k in categories: result.setdefault(k, []) result[k].append(e) -- Riccardo Lemmi _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python