Python: convertir lista en cadena con join ()

En esta breve guía práctica, aprenda cómo unir cadenas en una lista con la función join(), comprensión de listas, métodos personalizados y la función map().

Los datos adoptan muchas formas y formas; una de las estructuras de datos más comunes es listas/matrices. Strings son, esencialmente, secuencias de caracteres alfanuméricos. El paralelismo entre estos es evidente, y muchas veces nos convertimos entre uno y otro.

En esta guía, veremos cómo convertir/recopilar una lista en una cadena en Python.

Convertir lista en cadena en Python con join()

El enfoque general que usará es la función join(), con un par de opciones para elegir. La función se invoca en una cadena que indica un separador, y este separador se agregará entre todos los elementos unidos.

{.icon aria-hidden=“true”}

Nota: Aunque puede definir un separador por adelantado, generalmente se instancia como una cadena vacía, sobre la cual se llama a la función join().

Echemos un vistazo a una lista de personajes a los que nos gustaría unirnos:

1
base_list = ['M', 'K', 'V', 'N', 'L', 'I', 'L', 'F', 'S', 'L', 'L', 'V']

La forma más sencilla de unirlos en una sola cadena es pasar la lista a la función join():

1
2
string = "".join(base_list)
print(string)

Esto resulta en:

1
MKVNLILFSLLV

¡Hemos unido algunos caracteres que indican los aminoácidos presentes al comienzo de la secuencia de una proteína que se encuentra en la bacteria E. coli!

Cada uno de estos elementos es del tipo str, por lo que no hay problema en ponerlos naturalmente en una cadena. Aunque, a veces, es posible que desee convertir un determinado elemento en un tipo diferente.

Además, si usa un delimitador diferente, también puede obtener una representación diferente:

1
string = ", ".join(base_list)

Esto resulta en:

1
M, K, V, N, L, I, L, F, S, L, L, V

Convertir lista en cadena en Python con comprensión de lista

{.icon aria-hidden=“true”}

Nota: Python convierte implícitamente cualquier tipo de datos que pueda, por lo que no necesitará convertirlos explícitamente en la mayoría de los casos.

Si tiene que convertir los elementos, simplemente puede usar una lista de comprensión:

1
string = "".join(str(element) for element in base_list)

Cada elemento de la lista ahora se pasa a través de la función str(), que los convierte en una cadena. Puede sustituir esto con cualquier otra función, incluidas las personalizadas. Por ejemplo, vamos a crear una función que capitalice cada elemento en el caso de que un elemento no esté en mayúsculas como debería:

1
2
3
4
5
6
7
8
base_list = ['m', 'K', 'V', 'N', 'L', 'I', 'L', 'f', 'S', 'L', 'L', 'V']

def capitalize_char(char):
    return char.upper()

string = "".join(capitalize_char(element) for element in base_list)

print(string)

m y f se cambiaron a minúsculas, lo que no debería haber sucedido. Hemos pasado la función capitalize_char() a la lista de comprensión, devolviendo la versión en mayúsculas de cada elemento que hemos pasado. Esto da como resultado:

1
MKVNLILFSLLV

Convertir lista en cadena en Python con map()

Finalmente, para una forma más limpia y fácil de pasar elementos a través de una función, podemos usar map(). Generalmente, la función map() se usa para mapear valores de una colección a otra, típicamente usando un formato diferente (o incluso reducido).

Por ejemplo, podría asignar cada carácter a otra lista de booleanos, donde cada booleano representa si el carácter está en mayúsculas o no.

Por supuesto, siempre puedes hacer un mapeo 1 a 1 usando la función map() y, bueno, simplemente mapear una cadena a otra cadena, uniéndolas en una sola:

1
2
3
4
5
base_list = ['M', 'K', 'V', 'N', 'L', 'I', 'L', 'F', 'S', 'L', 'L', 'V']

string = "".join(map(str, base_list))

print(string)

Esto resulta en:

1
MKVNLILFSLLV

If you'd like to read more about mapping in Python, read our Guía de map(), filter() y reduce() en Python!

Conclusión

En esta breve guía, hemos analizado cómo convertir una lista en una cadena en Python, reuniendo los elementos en una sola pieza.

Las cadenas son inherentemente listas de caracteres y se comportan de la misma manera, pero también se pueden tratar como elementos individuales.

¡Ha aprendido a usar la función join() en su forma simple, así como a usarla con listas de comprensión, métodos personalizados y la función map()!

Licensed under CC BY-NC-SA 4.0