¿Cómo puedo convertir una lista en una cadena separada por espacios en Python?
Por ejemplo, quiero convertir esta lista:
my_list = [how,are,you]
En la cuerda "how are you"
Los espacios son importantes. No quiero conseguir lo howareyouque he hecho con mi intento hasta ahora de usar
"".join(my_list)

listcomo nombre de variable.Respuestas:
" ".join(my_list)necesitas unirte con un espacio, no una cadena vacía ...
fuente
list = ['how ', 'are ', 'you ']entonces cómo convertir esto en una lista?" ".join([i.strip() for i in my_list)Incluiré esto como una alternativa solo por el gusto de hacerlo, aunque es bastante inútil en comparación con las
" ".join(my_list)cadenas. Para las que no son cadenas (como una matriz de entradas), esto puede ser mejor:" ".join(str(item) for item in my_list)fuente
Para Non String también
listpodemos hacer esto" ".join(map(str, my_list))fuente
Entonces, para lograr el resultado deseado, primero debemos saber cómo funciona la función.
La sintaxis del
join()método como se describe en la documentación de Python es la siguiente:string_name.join(iterable)Cosas a tener en cuenta:
stringconcatenado con los elementos deiterable. El separador entre los elementos es elstring_name.iterablegenerará unTypeErrorAhora, para agregar espacios en blanco , solo necesitamos reemplazar el
string_namecon uno" "o' 'ambos funcionarán y colocar eliterableque queremos concatenar.Entonces, nuestra función se verá así:
' '.join(my_list)Pero, ¿qué pasa si queremos agregar un número particular de
white spacesentre nuestros elementos en eliterable?Necesitamos agregar esto:
str(number*" ").join(iterable)aquí,
numberserá una entrada del usuario.Entonces, por ejemplo si
number=4.Entonces, la salida de
str(4*" ").join(my_list)seráhow are you, por lo que entre cada palabra hay 4 espacios en blanco.fuente
"".join([i for i in my_list])¡Esto debería funcionar como lo pediste!
fuente
¿Por qué no agrega un espacio en los elementos de la lista, como:
list = ["how ", "are ", "you "]fuente
input(a).split(b))