¿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 howareyou
que he hecho con mi intento hasta ahora de usar
"".join(my_list)
list
como 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
list
podemos 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:
string
concatenado con los elementos deiterable
. El separador entre los elementos es elstring_name
.iterable
generará unTypeError
Ahora, para agregar espacios en blanco , solo necesitamos reemplazar el
string_name
con uno" "
o' '
ambos funcionarán y colocar eliterable
que queremos concatenar.Entonces, nuestra función se verá así:
' '.join(my_list)
Pero, ¿qué pasa si queremos agregar un número particular de
white spaces
entre nuestros elementos en eliterable
?Necesitamos agregar esto:
str(number*" ").join(iterable)
aquí,
number
será 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)
)