Marco De Paoli wrote:
> Il giorno 21 settembre 2012 15:33, Marco Beri <[email protected]> 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
[email protected]
http://lists.python.it/mailman/listinfo/python