Bug en split ?

Oswaldo Hernández listas en soft-com.es
Jue Mayo 24 16:51:51 CEST 2007


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
*****************************************




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