Como pasar un arreglo a un string.

Arnau Sanchez pyarnau en gmail.com
Mar Ene 15 11:48:10 CET 2008


Ariel Nardelli escribió:

> g = [k[0],daanio(k[12]),k[2],k[4],k[5],'A',k[6].strip(),k[7].strip(),k[8].strip(),9999,
>    999,k[9].strip(),999999,'','',0,'',9999,999,k[10].strip(),
>    999999,'','',0,'',k[11],k[12],dahora(k[13]),dahora(k[14]),dahora(k[15]),
>    dahora(k[16]),dahora(k[17]),k[18],k[19],k[20],k[21],k[22],tcpas,tmanp,k[23],
>    0,0,psra,qees,ccap,0,0,0,ncon,nafi]

Haga lo que haga eso, es un estilo "inadmisible" en Python: deberías 
separarlo en varias líneas y aprovechar la potencia del lenguaje para 
conseguir algo legible. Ideas que te pueden servir:

- asignación paralela: campo1, campo2, campo3 = k[2], k[6], k[8]

- Función map: map(strip, lista_de_cadenas) / map(dahora, 
lista_de_cadenas), etc.

Las asignaciones paralelas se pueden aligerar con una pequeña función de 
ayuda "values_at":

values_at = lambda seq, indexs: [seq[x] for x in indexs]
campo2, campo4, campo5, campo7 = values_at(k, (2,4,5,7))

>        sqlhr = "insert  into mov_hojaderuta values (" + (49 * "%s,") + 
> "%s);"
>        ok=sql01(dbm,sqlhr,g)
>        if ok <> 0:  # No se grabo miro porque...
>            gl("---" + 20 * "HRu" + "---")
>            gl("ERROR Hoja de Ruta")
>            reg =  "Registro : " + str(g[0]) + " + " + str(g[1]) +  "/" + 
> str(g[2]) +  " + " + str(g[3]) + " + " + g[4] + " + " + str(g[5]) + " + 
> "   + str(g[14]) + " + " + str(g[24]) + " !"
>            gl( reg)

lo mismo se aplica a la línea de reg = ..., repasa tutoriales en lo que 
respecta a:

- interpolación de cadenas: "hola: %s" % nombre

- método join: " + ".join(["a", "b"]) -> "a + b"

Espero que te sirva.

arnau
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





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