Listar una cadena

Iniciado por AdeLax, 29 Septiembre 2013, 22:07 PM

0 Miembros y 1 Visitante están viendo este tema.

AdeLax

Hola a todos!,

Mi pregunta es como podría listar una cadena cada tres dígitos osea:
la cadena es 'qwertyuiopasdfghjklñzxcvb'
y de esta cadena sacar

qwe
rty
uio
pas
dfg
...


como un for a una lista, verdaderamente lo que quiero es listar las particiones pero la sentencia que uso me lo da en forma de cadena c:\ d:\ f:\ y lo que quiero es:

c:\
d:\
f:\


pero si uso for me imprime esto claramente a no ser una lista

c
:
\

d
:
\


etc

Por favor me gustaría que me ayudasen, ya e buscado por Internet pero nada
Gracias

Stakewinner00

Si sabes algún lenguaje de programación puedes programarlo tu mismo sino te podemos ayudar

Eleкtro

#2
Cita de: R4z3L.hax en 29 Septiembre 2013, 22:07 PMlo que quiero es listar las particiones pero la sentencia que uso me lo da en forma de cadena c:\ d:\ f:\

Si no especificas que lenguaje estás usando no hay ayuda posible,
Saludos!








AdeLax

Pendoneen se me había olvidado Python    ;D ;

Once

¿Qué código tienes?

Saludos!

AdeLax

import win32api
driveslist = win32api.GetLogicalDriveStrings()
print driveslist #aparece todas las particiones/unidades del sistema


El resultado es:
>>> C:\ D:\ etc

y lo que quiero es esto:
c:\
d:\

y pensé en hacerlo con un for pero no es una lista
y me aparecía esto:

c
:
\

d
:
\
y pensé si se podía hacer un for que mostrase los tres primeros caracteres
osea:
unidad + : + \

c:\
d:\
f:\

Pero no se como hacerlo por eso pido ayuda, lenguaje Python 2.7

Once

Entiendo, se me ocurren dos formas de hacerlo:

Usando for
Código (python) [Seleccionar]
asd = 'qwertyuiopasdfghjklzxcvb'

for i in xrange(0, len(asd), 3):
    print asd[i:i+3]


O usando expresiones regulares:

Código (python) [Seleccionar]

import re
asd = 'qwertyuiopasdfghjklzxcvb'
print re.findall("(.{3})", asd)


Saludos!

AdeLax

Gracias!!! eso es a lo que me refería, muchas gracias!!!  :D  ;D :D