[pyar] Diccionarios, listas, tuplas, etc...

John Rowland Lenton john.lenton en canonical.com
Vie Jun 4 15:44:47 ART 2010


On Fri, Jun 04, 2010 at 02:59:56PM -0300, Roberto Bozzacchi wrote:
> 
> Les muestro primero el código con el que estoy jugando:
> 
> m = {'Jan': 1, 'Feb': 2, 'Mar': 3, 'Apr': 4, 'May': 5, 'Jun': 6,
>     'Jul': 7, 'Aug': 8, 'Sep': 9, 'Oct': 10, 'Nov': 11, 'Dec': 12}
> 
> [...]
> 
> Bien, pero no logro obtener los pares Key y Values por orden, o sea Jan, 1 /
> Feb, 2 ..... Nov, 11 / Dec, 12

es bastante poco común necesitar un diccionario ordenado, en la
práctica.  En py3k tenés el collections.OrderedDict; en python 2
podrías hacer

    for k in sorted(m, key=m.get):
        print k, m[k]

> Por otra parte, si quisiera validar una entrada, por ejemplo:
> 
> IngMes = rawinput('Ingrese el mes (Ene, Feb, etc):')
> 
> Y validar que las tres letras ingresadas estén en la lista creada... como se
> logra?

nota: por convención (ver pep 8 -- y notar que mucho de la librería
estándard no cumple esto, pero se la está cambiando de a poco para que
sí), IngMes es el nombre de una clase.

    mes = rawinput('Ingrese el mes (Ene, Feb, etc):')
    if mes in m:
        print "ingresaste el mes", m[mes]
    else:
        print "no conozco ese mes"

ó

    mes = m.get(rawinput('Ingrese el mes (Ene, Feb, etc):'), "DESCONOCIDO")
    print "ingresaste el mes", mes

etcétera
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20100604/ce4c5f93/attachment.sig>


More information about the pyar mailing list