Discussione:
ordinamento dizionario
(troppo vecchio per rispondere)
m***@libero.it
2006-08-02 09:27:52 UTC
Permalink
come faccio a mettere in ordine alfabetico le chiavi di un dizionario?
so che un dizionario "è di per sè non ordinato", ma vorrei stampare
una lista ordinata delle sue chiavi.
se non è possibile direttamente, potete indicarmi un metodo per
trasformarlo in un array, di modo che dopo mi arrangio io con un
bubblesort o roba del genere?

grazie a tutti quelli che mi risponderanno,
Luca
emorelli
2006-08-02 09:31:23 UTC
Permalink
Post by m***@libero.it
come faccio a mettere in ordine alfabetico le chiavi di un dizionario?
so che un dizionario "è di per sè non ordinato", ma vorrei stampare
una lista ordinata delle sue chiavi.
se non è possibile direttamente, potete indicarmi un metodo per
trasformarlo in un array, di modo che dopo mi arrangio io con un
bubblesort o roba del genere?
grazie a tutti quelli che mi risponderanno,
Luca
Ciao,

http://aspn.activestate.com/ASPN/Python/Cookbook/Recipe/52306
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/304440
http://www.wellho.net/forum/Programming-in-Python-and-Ruby/Sorting-a-dictionary-in-Python.html
http://www.faqts.com/knowledge_base/index.phtml/fid/541

and so on....

Enrico
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Nicola Larosa
2006-08-02 10:01:45 UTC
Permalink
Post by emorelli
Post by m***@libero.it
come faccio a mettere in ordine alfabetico le chiavi di un dizionario?
http://aspn.activestate.com/ASPN/Python/Cookbook/Recipe/52306
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/304440
http://www.wellho.net/forum/Programming-in-Python-and-Ruby/Sorting-a-dictionary-in-Python.html
http://www.faqts.com/knowledge_base/index.phtml/fid/541
and so on....
L'OP non ha chiesto un dizionario che mantenga l'ordine di inserimento, ma
un ordinamento alfabetico delle chiavi a posteriori.

Comunque, a proposito del dizionario ordinato per inserimento, mi permetto
di riproporre l'implementazione che ritengo più completa, sia come funzioni
che come test, e non perché l'ho scritta in buona parte io. ;-)

An Ordered Dictionary
http://www.voidspace.org.uk/python/odict.html
--
Nicola Larosa - http://www.tekNico.net/

Even in the most wildly optimistic projections, data mining isn't tenable
for uncovering future terrorist plots. We're not trading privacy for
security; we're giving up privacy and getting no security in return.
-- Bruce Schneier, February 2002
deelan
2006-08-02 09:38:52 UTC
Permalink
Post by m***@libero.it
come faccio a mettere in ordine alfabetico le chiavi di un dizionario?
so che un dizionario "è di per sè non ordinato", ma vorrei stampare
una lista ordinata delle sue chiavi.
se non è possibile direttamente, potete indicarmi un metodo per
trasformarlo in un array, di modo che dopo mi arrangio io con un
bubblesort o roba del genere?
Utilizzi il metodo keys().
Post by m***@libero.it
ages = { "Tom": 13, "Bob": 17, "Pat": 12 }
names = ages.keys()
names.sort()
names
['Bob', 'Pat', 'Tom']

Okkio che sort() è in-place, ossia modifica la lista che
vai ad ordinare.

ciao.
--
deelan
http://www.deelan.com/
ZeD
2006-08-02 10:09:12 UTC
Permalink
Post by m***@libero.it
come faccio a mettere in ordine alfabetico le chiavi di un dizionario?
so che un dizionario "è di per sè non ordinato", ma vorrei stampare
una lista ordinata delle sue chiavi.
dizionario={"pippo":"disney", "gatsu":"miura", "spiderman":"lee"}
print sorted(dizionario.keys())
--
Under construction
b***@lycos.com
2006-08-02 10:19:12 UTC
Permalink
Post by m***@libero.it
come faccio a mettere in ordine alfabetico le chiavi di un dizionario?
so che un dizionario "è di per sè non ordinato", ma vorrei stampare
una lista ordinata delle sue chiavi.
se non è possibile direttamente, potete indicarmi un metodo per
trasformarlo in un array, di modo che dopo mi arrangio io con un
bubblesort o roba del genere?
Luca
La soluzione migliore e' la piu' semplice:
d = {5:6,1:2, 3:4}
print sorted(d)

Ciao,
bearophile

Loading...