[Python] da lista di coppie a dict con lista di valori
Riccardo Lemmi
riccardo a reflab.com
Sab 22 Set 2012 18:37:11 CEST
Marco De Paoli wrote:
> Il giorno 21 settembre 2012 15:33, Marco Beri <marcoberi a 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
Maggiori informazioni sulla lista
Python