[PIPython] ordinare una lista

Nicola Larosa nico
Ven 19 Nov 2004 15:16:45 CET


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

> Quando vado a stampare su file gli elementi della lista in ordine
> sequenziale con un ciclo for mi accorgo che la lista non è stata ordinata in
> modo corretto, ad esempio alla fine della lista il programma stampa la
> sequenza
>
> ('96', '98')
> ('96', '99')
> ('97', '100')
> ('97', '98')
> ('97', '99')
> ('98', '100')
> ('98', '99')
> ('99', '100')
>
> e non
>
> ('96', '98')
> ('96', '99')
> ('96', '100')
> ('97', '98')
> ('97', '99')
> ('97', '100')
> ('98', '99')
> ('98', '100')
> ('99'.'100')

Gli elementi delle tuple sono stringhe, quindi vengono ordinati con criterio
lessicografico. Sembra che tu invece ti aspetti che vengano trattati come numeri.

Hai due possibilità: o li trasformi effettivamente in numeri, oppure li scrivi
con degli zeri davanti:

('096', '098')
('096', '099')
('096', '100')
('097', '098')
('097', '099')
('097', '100')
('098', '099')
('098', '100')
('099', '100')


- --
Nicola Larosa - nico a tekNico.net

"If we were willing to withhold our projections and open ourselves to
the Eternal Surprise of the universe, its biggest surprise might be
the knowledge that we truly do belong -- and that our belonging
doesn't depend on simplistic, machine-influenced thinking."
 -- Steve Talbott, NetFuture #153, 2004-01-06


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFArdZkXv0hgDImBm4RAoP7AJ9xEvVCNzsnEKIiJiLDjJFn6HEEZgCgiFYg
Q0E4gGTiXzGbb063cYmCxmw=
=d5gr
-----END PGP SIGNATURE-----




More information about the Python mailing list