Como saber si un parametro es una secuencia

Pablo Rey Sobral pabloreysobral en gmail.com
Jue Dic 16 11:24:56 CET 2004


On Thu, 16 Dec 2004 10:49:30 +0100, Andres Moya
<Andres.Moya en hispalinux.es> wrote:
> Hola a todo el mundo.
> 
> Esto lo he visto resuelto alguna vez, pero ahora no soy capaz de
> encontrarlo. ¿Cuál es la mejor manera de saber si una variable contiene
> una secuencia o un valor escalar? O sea, saber si tengo que iterar sobre
> ella o simplemente coger su valor.

La mejor es preguntar de que tipo es la variable:
>>> x  = 2
>>> type (x)
<type 'int'>
>>> x = [2]
>>> type (x)
<type 'list'>
>>> x = (2,)
>>> type (x)
<type 'tuple'>
>>> x = {'2':2}
>>> type (x)
<type 'dict'>

para saber si la tienes que iterar

if (type(x) == list) or (type(x) == (tuple) or type(x) == dict):

Un saludo.

> 
> Teniendo en cuenta que la variable puede ser un objeto que emula una
> secuencia definiendo __getitem__, y cualquier cosa rara de éstas.
> 
> Gracias.
> ---
> 
> Andres.Moya en hispalinux.es
> _______________________________________________
> 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