Usos de if-else o try-except.

Víctor Peinado victor en lsi.uned.es
Mar Jun 22 15:06:54 CEST 2004


¡Hola lista!

Sigo con mis devaneos pythonianos. Vuelvo a tener un par de dudas por seguir 
pensando en Perl (estoy «traduciendo» un programa de un lenguaje a otro). Os 
cuento: necesito evaluar si existen o no determinadas claves en un 
diccionario y para eso estaba usando una secuencia de varios if-elif-else. El 
problema es que cuando no existe una de las claves salta una excepción y el 
programa casca.

Leyendo varios tutoriales he creído entender que la única manera de hacerlo es 
usando try-except para capturar las excepciones, cosa en la que no estoy muy 
ducho todavía. ¿Es eso cierto?

Resumiento. Algo así casca:

if dicc['clave1'] and not dicc['clave2']:
  HAZ ALGO
elif ...
  # sigo con la siguiente evaluación


¿Debería hacerlo así?

try:
    dicc['clave1']
    try:
        dicc['clave2']
    except KeyError:
        HAZ ALGO
except KeyError:
    # no hagas nada
    pass

try:
    # sigo con la siguiente evaluación
    ...



Gracias de antemano y saludos.

-- 
Res publica non dominetur. 
 
 Víctor Peinado || NLP Group - UNED || http://nlp.uned.es
 Fingerprint: C0D5 22EA 607C 47F9 28D7 3FFB 1CE0 342F 1285 66CA
 <victor.peinado />


------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es


Más información sobre la lista de distribución Python-es