[Python] Dizionari
Carlo C8E Miron
carlo.miron a gmail.com
Gio 9 Ott 2008 20:52:56 CEST
Ciao,
2008/10/9 Oberdan Albertoni <obe a digicolor.net>:
> Ciao,
>
> una domanda nella tua soluzione
>
> for i in sorted(ElencoDomini.items(), key=lambda x:int(x[1]), reverse=True):
>
>
> La funzione sorted ordina una lista di tuple cioe' ElencoDomini.items().
> La lista viene ordinata tramite la funzione key=lambda x:int(x[1]) e
> qui mi perdo.
> x e' la tupla giusto ?
> x[1] e' il nostro contatore dei domini nel dizionario iniziale giusto ?
> ma che confronto e' int(x[1]) ?
Guarda, forse cosi` e` piu` leggibile::
>>> DizionarioUno = {'dominio1.com':'3', 'dominio2.com':'44', 'dominio3.com':'5'}
>>> def by_number((dom, num)): return int(num)
...
>>> for i in sorted(DizionarioUno.items(), key=by_number, reverse=True): print "%-20s %3s" % i
...
dominio2.com 44
dominio3.com 5
dominio1.com 3
>>>
Ah, apropos, questo mi sembra un ottimo usecase per le namedtuple, vedi
<http://stacktrace.it/articoli/2008/05/gestione-dei-record-python-1/>
> Mille grazie da Obe.
yw,
(c)
--
Carlo C8E Miron
Open Source Solution Architect
<http://www.linkedin.com/in/carlomiron>
<http://pycon.it/> <http://stacktrace.it/> <http://pydinner.org/>
Maggiori informazioni sulla lista
Python