RSSYoutubeTuenti
20 minutos
beta Se habla de:

Foro de Vandal

Página 1 - 1

Problema con python.

lordimor
Lugar: Gijón · 882 mensajes · Colección
#1  Enviado: 21:00 26/12/2011

Me da cosa preguntar en el foro, pero llevo todo el día rompiéndome la cabeza porque estoy seguro de que escribo bien mis bucles en python pero no funciona. Veréis:
for i in range(len(lista1)):
      lista1[16]=lista1[16]+"_"+lista1[17]
for i in range(len(lista1)):
      listafecha=lista1[0].split("/")
      lista1[0]=[listafecha]

len(lista1) vale 11940
y lista[1] es esto: ['2011/06/08', '00:51:39.27', '27.6981', '-18.1392', '7.40', '5.20', '33', '38.30', '4.3', '1.90', '0', '7', '7', '0.57', '292.0', '1065891', 'SW', 'FRONTERA.IHI']

el primer bucle busca unir las dos últimas cadenas de texto, y el segundo subdividir la fecha. El caso es que si no pongo un número superior a 1000 o así en el "range", funciona(Siempre y cuando no ponga lista1[17] y ponga menos).Tengo probado que imprime si pongo el 17.

Ayuda manitos.

-----------
PASTEL DE MORA.
Angel Cruijff
Lugar: Amsterdam, Noord Holland · 4804 mensajes · Colección
Valoración:
#2  Enviado: 21:24 26/12/2011  Editado: 21:38 26/12/2011 (2 veces)

Si te he entendido bien, lo que te falta es usar correctamente los indices, que para eso estas asignando el len a la i:

for i in range(len(lista1)):
      lista1['i'][16]=lista1['i'][16]+"_"+lista1['i'][17]
for i in range(len(lista1)):
      listafecha=lista1['i'][0].split("/")
      lista1['i'][0]=[listafecha]

Saludos!!!

EDIT: Hay un error al usar el subindice i en el foro xDDD, así es que no sé si estoy viendo correctamente tu código.
Cabe mencionar que en el código que pongo no se tiene que usar las comillas alrededor de la i, las puse porque como comento, al abrir los corchetes el foro lo toma como si fuera escribir en cursiva...

-----------
Gamertag: Angel Cruijff      ------       AFC Ajax      ------  FC Barcelona---------   Cruijff: "Este Barça, y de ello me alegro, ha impuesto un estilo de juego que ha provocado millones de elogios en todos los rincones del mundo. Y ha escrito, con letras grandes y de oro, el mensaje de texto más difundido del 2009: se puede ganar jugando bonito, dando espectáculo. Copien esta propuesta. Si se atreven."
lordimor
Lugar: Gijón · 882 mensajes · Colección
#3  Enviado: 21:50 26/12/2011  Editado: 21:51 26/12/2011 (1 vez)

  Para Angel Cruijff:
Si, perdón, es que no me había fijado, pero lo que tengo escrito es lo que pusiste tú, y eso no me funciona, dice que se sale del rango, y no es así.

-----------
PASTEL DE MORA.
Angel Cruijff
Lugar: Amsterdam, Noord Holland · 4804 mensajes · Colección
Valoración:
#4  Enviado: 22:05 26/12/2011  Editado: 22:19 26/12/2011 (4 veces)

En respuesta a lordimor (réplica 3).
  Para Angel Cruijff:
Si, perdón, es que no me había fijado, pero lo que tengo escrito es lo que pusiste tú, y eso no me funciona, dice que se sale del rango, y no es así.
Entonces el error lo tiene el archivo (por decirlo de una manera...), ya que tu esperas que forzosamente tenga 18 posiciones y en alguna lista tiene menos de esas 18. Comprueba a partir de la posición 1000 si el tamaño de alguna de las sublistas es menor a 18

Solo para aclarar, el que se esta saliendo del rango no es la lista1, sino las sublistas.

for x in lista1:
   if len(x)<18:
       print 'Error. Lista de tamaño menor a 18'

Y aquí para saber en que posición estaría el error:
for i in range(len(lista1)):
    if len(lista1['i'])<18:
         print 'Error. Lista en posicion ' + str(i) +' menor a 18'


-----------
Gamertag: Angel Cruijff      ------       AFC Ajax      ------  FC Barcelona---------   Cruijff: "Este Barça, y de ello me alegro, ha impuesto un estilo de juego que ha provocado millones de elogios en todos los rincones del mundo. Y ha escrito, con letras grandes y de oro, el mensaje de texto más difundido del 2009: se puede ganar jugando bonito, dando espectáculo. Copien esta propuesta. Si se atreven."
lordimor
Lugar: Gijón · 882 mensajes · Colección
#5  Enviado: 22:19 26/12/2011

  Para Angel Cruijff:
Gracias mil, la causa era que presuponía que el txt del que hago la lista tenía todas las líneas, y resulta que hay alguna que le faltan los dos últimos datos

-----------
PASTEL DE MORA.
Página 1 - 1
Buscar en el foro: En foro: Tipo:
Contactar
Foro de Vandal Online