[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