[Python-es] Bug en split ?

Hernan M Foffani hfoffani en gmail.com
Jue Mayo 24 18:50:00 CEST 2007


La verdad es que está hecho a propósito.
split() sin argumentos usa un algoritmo diferente
al separar.
http://python.org/doc/current/lib/string-methods.html#l2h-262


El 24/05/07, Oswaldo Hernández <listas en soft-com.es> escribió:
> Hola,
>
> Buscando un error en una aplicacion encuentro que es por el siguiente motivo:
>
> Al hacer split() en una cadena devuelve una tupla con todos sus fragmentos
>
>  >>> cad ="esto es una cadena"
>  >>> pal = cad.split()
>  >>> pal
> ['esto', 'es', 'una', 'cadena']
>  >>> len(pal)
> 4
>
> Cuando la cadena esta vacia:
>
>  >>> cad =""
>  >>> pal = cad.split()
>  >>> pal
> []
>  >>> len(pal)
> 0
>
> El resultado con una cadena vacia el una tupla de cero elementos. Hasta aqui todo OK.
>
> Repitiendo la prueba pero poniendo en el split un separador (caracter espacio)
>
>  >>> cad ="esto es una cadena"
>  >>> pal = cad.split(" ")
>  >>> pal
> ['esto', 'es', 'una', 'cadena']
>  >>> len(pal)
> 4
>
> OK, igual que el anterior. Repito la prueba con una cadena vacia
>
>  >>> cad =""
>  >>> pal = cad.split(" ")
>  >>> pal
> ['']
>  >>> len(pal)
> 1
>
> Aqui el resultado difiere, split devuelve una tupla con *un* elemento.
>
> No entiendo esto, uno de los dos metodos esta mal, ¿ Bug ?
>
> Utilizo python 2.5, WindowsXP
>
>
>
> --
> *****************************************
> Oswaldo Hernández
> oswaldo (@) soft-com (.) 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