Con la siguiente función vamos a conseguir dividir un string en X substrings de un tamaño dado (muy útil por ejemplo para completar formularios). Es una función muy recurrida, al menos por mi:
def splitCount(s, count):
return [?".join(x) for x in zip(*[list(s[z::count]) for z in range(count)])]
Para los que empezais con Python, la forma de usarla sería:
myString = ?Esta cadena de pruebas la vamos a romper en cachitos?
LengthOfPieces = 6
a = splitCount(myString, LengthOfPieces)
print a
3 comentarios:
Muchísimas gracias por la función! =)
P.D.: Avisa de que tienes ? en vez " xD
Hola,
He visto el código, esta muy bien, pero resulta que si la última subcadena tiene una longitud menor a la que yo indico, se ignora.
Aquí te traigo mi versión donde no se ignora la última cadena, seguramente te saldrá mejor que a mi:
/////
def segmenta_cadena (s, count):
lista = list()
for z in range ( len(s) / count ):
lista.append ( a [z * count : z * count + count] )
lista.append ( a [z*count + count : z*count + count + len(s) % count ] )
return lista
/////
Un saludo
P.D.: Soy el mismo de antes xD
Hola de nuevo,
He cometido un error!
Te paso la función mejorada:
///
def segmenta_cadena (s, count):
lista = list()
z = -1
for z in range ( len(s) / count ):
lista.append ( s [z * count : z * count + count] )
lista.append ( s [z*count + count : z*count + count + len(s) % count ] )
return lista
///
Publicar un comentario