HOWTO · Python

Imprimir lista sin corchetes en Python

Este tutorial demuestra cómo imprimir una lista sin corchetes en Python

En esta página

Para mostrar una lista de Python sin sus corchetes, imprime sus elementos mediante desempaquetado, une los elementos de texto con un separador o da formato a cada elemento en un bucle. Elige print() cuando solo necesites mostrar el resultado; usa join() si necesitas una cadena nueva para guardarla o pasarla a otra parte. Los ejemplos siguientes muestran el resultado exacto de cada opción.

Ejecuta este ejemplo:

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

items = ["x", "y", "z"]
print(*items, sep=",")
x,y,z

Usa join() con una lista de cadenas

Llama a join() sobre la cadena separadora. Devuelve una sola cadena y coloca ese separador entre las cadenas de entrada. Esto resulta útil cuando necesitas asignar el resultado formateado a una variable, combinarlo con otro texto o escribirlo más adelante.

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

items = ["red", "green", "blue"]
result = ", ".join(items)
print(result)
red, green, blue

Todos los elementos deben ser cadenas. Si la lista contiene un entero u otro valor que no sea una cadena, join() genera TypeError; convierte primero los elementos, como se muestra a continuación. Al unir una lista vacía se obtiene una cadena vacía; si contiene un solo elemento, el resultado no incluye ningún separador.

Usa el desempaquetado con print() para valores de distintos tipos

El operador * desempaqueta un iterable y pasa sus elementos como argumentos posicionales independientes. print() acepta valores de distintos tipos y convierte cada uno en texto para mostrarlo. El parámetro sep determina qué texto se coloca entre los argumentos; de forma predeterminada, se usa un espacio.

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

values = [1, "two", 3.0, True]
print(*values, sep=" | ")
1 | two | 3.0 | True

Esto escribe directamente en la salida estándar y no crea una cadena unificada que puedas reutilizar. Si la lista está vacía, el desempaquetado no proporciona ningún valor, por lo que print() escribe únicamente el salto de línea final. Usa sep="" para mostrar los valores uno junto a otro, o conserva el separador predeterminado si quieres espacios entre ellos.

Convierte los valores en cadenas antes de unirlos

Si necesitas obtener una cadena a partir de valores como números, convierte explícitamente cada elemento con map(str, values) o con una comprensión. Así puedes elegir el separador. La conversión utiliza la representación str() de cada valor, pensada para mostrar texto legible y que puede no conservar la información sobre el tipo original.

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

numbers = [1, 2, 3]
result = ",".join(map(str, numbers))
print(result)
1,2,3

Una comprensión resulta útil si también necesitas transformar o filtrar valores: ", ".join(str(value) for value in numbers). Ninguna de las dos opciones modifica la lista original; ambas crean cadenas para el resultado que se mostrará.

Usa el corte de str() para mostrar el resultado rápidamente

Al llamar a str() con una lista, se obtiene su representación de Python, incluidos los corchetes exteriores. Para mostrarla rápidamente, [1:-1] elimina el primer y el último carácter de esa representación:

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

items = [1, 2, 3]
print(str(items)[1:-1])
1, 2, 3

Este método conserva los detalles de la representación, incluidas las comillas alrededor de los elementos de texto y los corchetes anidados de las listas dentro de otras listas. Es práctico para una inspección sencilla, pero no es un formateador de propósito general ni un formato de serialización. Si necesitas un separador elegido expresamente y un formato de elementos predecible, es preferible unir los valores después de convertirlos.

Imprime cada elemento en un bucle para darle formato individual

Usa un bucle cuando cada elemento necesite un formato propio o quieras controlar qué texto aparece después de cada uno. Normalmente, print() termina cada llamada con un salto de línea; el argumento end permite cambiar ese final. Si imprimes los elementos uno por uno, incluye el separador en end.

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

items = [1, 2, 3]
for index, item in enumerate(items):
    if index:
        print(" ", end="")
    print(item, end="")
print()
1 2 3

El bucle escribe separadores solo entre los elementos; después, la llamada final a print() añade un salto de línea al final. Así se evita un espacio sobrante y se controla exactamente la línea que se muestra. Un bucle escribe progresivamente en la salida estándar, así que elige el desempaquetado o la unión si necesitas una sola operación o una cadena reutilizable. Para aplicar otro formato a cada elemento, construye el texto dentro del bucle o pasa un valor ya formateado a print().