Programa Python para convertir una lista de cadenas en cadenas separadas por comas
Python se deriva de muchos otros lenguajes, incluidos ABC, Modula-3, C, C++, Algol-68, SmallTalk y UnixShell, y muchos otros lenguajes de programación.
Ahora, como sabemos, este artículo trata sobre convertir una lista de cadenas en cadenas separadas por comas. Antes de profundizar en él, es necesario conocer en detalle las cadenas y listas en Python. Sigamos adelante con el tema y comprendámoslos en detalle. Comenzando con una cuerda.
¿Qué es una cadena?
Las cadenas de Python son secuencias de caracteres, lo que significa que son colecciones ordenadas de caracteres.
"This is a string."
'This is also a string.'
Las cadenas en Python son matrices de bytes que representan caracteres Unicode. Las cadenas de Python son "inmutables", lo que significa que no se pueden cambiar una vez creadas. Esto significa que se puede acceder a sus elementos de datos internos, los caracteres, pero no se pueden reemplazar, insertar ni eliminar para entrada y salida. Una cadena es una estructura de datos. Una estructura de datos es una unidad compuesta que consta de varios otros datos. Una cadena es una secuencia de cero o más caracteres.
La longitud de una cadena es la cantidad de caracteres que contiene. La función len() de Python se utiliza para devolver la longitud de la cadena.
Sintaxis
len(str)
Ejemplo
len("WELCOME")
Producción
7
Cada carácter ocupa una posición en la cadena. Las posiciones de los caracteres de una cadena están numeradas desde 0, a la izquierda, hasta la longitud de la cadena menos 1, a la derecha. Ahora, pasando al tema de la lista.
¿Qué es una lista?
Una lista es una colección de elementos en un orden particular. Puede hacer una lista que incluya las letras del alfabeto y los dígitos del 0 al 9. En Python, los corchetes ([]) indican una lista y los elementos individuales de la lista están separados por comas.
Ejemplo
bicycles = ['trek', 'Cannondale', 'redline', 'specialized']
print(bicycles)
Producción
['trek', 'Cannondale', 'redline', 'specialized']
Una lista es un valor que contiene varios valores en una secuencia ordenada. El término valor de lista se refiere a la lista en sí (que es un valor que puede almacenarse en una variable o pasarse a una función como cualquier otro valor), no a los valores dentro del valor de la lista. Un valor de lista se ve así: ['gato', 'murciélago', 'rata', 'elefante']. Los valores dentro de la lista también se denominan elementos. Los elementos están separados por comas (es decir, están delimitados por comas).
Aquí veremos cómo convertir una cadena en una cadena separada por comas. Es importante tener en cuenta que la cadena dada también puede ser una lista de cadenas.
Convertir una lista de Python en una cadena separada por comas
Cuando convertimos una lista de cadenas en una cadena separada por comas, el resultado es una cadena donde cada elemento de la lista está separado por una coma.
Por ejemplo, si convertimos [“mi”, “nombre”, “es”, “Nikita”] a una cadena separada por comas, el resultado será “mi, nombre, es, Nikita”.
Usando la función join()
Un componente iterable se combina mediante la función join(), que también devuelve una cadena. Se debe especificar el carácter que se utilizará para separar los elementos de la cadena.
Aquí se supone que debemos crear una cadena separada por comas, por lo que usaremos la coma como separador.
Ejemplo
El siguiente programa crea una lista y las une en una cadena separada por comas usando la función join().
List = ["Apple", "Banana", "Mango", "Orange"]
String = ', '.join(List)
print("List of String:")
print(List)
print("Comma Separated String:")
print(String)
Producción
List of String:
['Apple', 'Banana', 'Mango', 'Orange']
Comma Separated String:
Apple, Banana, Mango, Orange
El enfoque anterior sólo es aplicable a una lista de cadenas.
Para trabajar con una lista de números enteros u otros elementos, podemos usar la comprensión de listas y la función str(). Podemos ejecutar rápidamente los elementos con comprensión de lista en una sola línea usando el bucle for y luego convertir cada elemento en una cadena usando la función str().
Ejemplo
En el siguiente programa, se crea una lista de cadenas y se almacena en la variable Lista. Luego se crea una nueva cadena uniendo cada elemento de la lista con una coma como separador y se almacena en la variable Cadena.
List = ['235', '3754', '856', '964']
String = ', '.join([str(i) for i in List])
print("List of String:")
print(List)
print("Comma Separated String:")
print(String)
Producción
List of String:
['235', '3754', '856', '964']
Comma Separated String:
235, 3754, 856, 964
Usando la función map(), también podemos eliminar la comprensión de listas. Al aplicar la función str() a cada elemento de la lista, la función map() se puede utilizar para convertir todos los elementos de la lista en cadenas.
Ejemplo
Usando la función map(), también podemos eliminar la comprensión de listas. Al aplicar la función str() a cada elemento de la lista, la función map() se puede utilizar para convertir todos los elementos de la lista en cadenas.
List = ['235', '3754', '856', '964']
String = ', '.join(map(str,List))
print("List of String:")
print(List)
print("Comma Separated String:")
print(String)
Producción
List of String:
['235', '3754', '856', '964']
Comma Separated String:
235, 3754, 856, 964
Usando el módulo StringIO
El objeto StringIO es comparable a un objeto de archivo, sin embargo, funciona con texto en la memoria. Se puede importar directamente en Python 2 utilizando el módulo StringIO. Se guardó en el módulo io en Python 3.
Ejemplo
Para escribir la lista como una fila separada por comas para un archivo CSV en el objeto StringIO, podemos usar la función csv.writerow(). Para hacerlo, primero debemos crear un objeto csv.writer. Usando la función getvalue(), podemos almacenar el contenido de este objeto en una cadena.
import io
import csv
List = ['235', '3754', '856', '964']
String_io = io.StringIO()
w = csv.writer(String_io)
w.writerow(List)
String = String_io.getvalue()
print("List of String:")
print(List)
print("Comma Separated String:")
print(String)
Producción
List of String:
['235', '3754', '856', '964']
Comma Separated String:
235,3754,856,964
También podemos usar el operador desempaquetar con la función print(). El operador de descomprimir * descomprime todos los elementos de un iterable y los guarda en el objeto StringIO a través del parámetro de archivo en la función print().
Ejemplo
Se crea una lista con los valores 8, 9, 4 y 1. Luego se crea un objeto StringIO String_io, lo que permite tratar la cadena como un archivo. La lista se imprime como un objeto StringIO con file=String_io y sep=',' y end=''. Esto separa cada elemento de la lista con una coma y no agrega una nueva línea o carácter al final de la línea. La cadena almacenada en string_io se recupera mediante el método getvalue() y se almacena en una variable denominada "String".
import io
List = [8,9,4,1]
String_io = io.StringIO()
print(*List, file=String_io, sep=',', end='')
String = String_io.getvalue()
print("List of String:")
print(List)
print("Comma Separated String:")
print(String)
Producción
List of String:
[8, 9, 4, 1]
Comma Separated String:
8,9,4,1
Conclusión
En este artículo, analizamos diferentes métodos para convertir una lista de cadenas en cadenas separadas por comas.