Transformar una lista en cadena.
Arnau Sanchez
arnau en ehas.org
Lun Sep 17 16:46:07 CEST 2007
> Necesito pasar los elementos de una lista a una única cadena de texto.
> Creo que las cadenas son inmutables y el siguiente código no es válido:
>
> lista = ['Ana\n', 'Pepe\n', 'Gloria\n', 'Pedro\']
> for x in lista:
> cadena = cadena + x
> print cadena
Si añades antes del bucle "cadena = ''" sí que será válido (pero no
especules sobre ello, ¡pruébalo!), porque aunque las cadenas son
inmutables, estás creando una nueva a cada iteración.
Pero este código es tan feo como ineficiente, un ejemplo clásico de lo
que no es idiomático. Mírate guías sobre el tema, por ejemplo:
http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html
en este caso, sección: Building Strings from Substrings
> y que muestre lo siguiente:
>
>
> Ana
> pepe
> Gloria
> Pedro
Si realmente sólo quieres mostrar por pantalla lo que hay en una lista
te será suficiente:
sys.stdout.writelines(lista)
arnau
Más información sobre la lista de distribución Python-es