Re: Problema de comparación con None

Cristina Yenyxe González García the.blue.valkyrie en gmail.com
Mar Mayo 6 13:53:09 CEST 2008


El día 6 de mayo de 2008 13:18, Rafael Cantos
<rafaelcantos en hotmail.com> escribió:
>
> buenas otra vez

Hola.

>
>
> Ahora el problema me surge en una comparación, de la siguiente forma:
> Tengo una clase, llamada Registro,  en la cuál se estiban y desestiban objetos de python tipo lista, con distintos tipos dentro.
> Desde otra clase, llamada Controlador, llamo a un método de Registro para que me devuelva el objeto desestibado con picle (se me había olvidado decir que uso pickle) y realizo una comparación así:
> if registro[0][0] != None:
>  ...
> donde registro es el objeto desestibado.
> Al hacer esto, me devuelve el siguiente error:
> NoneType is unsubcriptable.
> ¿Qué es lo que puede fallar?
>

En inglés, "subscript" significa "subíndice", por lo que te está
diciendo que no puedes extraer un subíndice de un objeto de tipo
NoneType. Es decir, que registro y/o registro[0] son None, y por tanto
no se puede obtener ninguna posición a partir de ellos. Tendrías que
añadir otra comprobación intermedia.

Por otro lado, cuando estés comprobando que algo no es None lo
recomendable sería utilizar "if X is not None" o incluso "if X" (este
último solo en caso de que tampoco te sirvan los valores 0, [] o {},
que se evalúan a falso).

> Saludos y gracias.

Un saludo.
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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