Como posso converter uma lista em uma string separada por espaço em Python?
Por exemplo, quero converter esta lista:
my_list = [how,are,you]
Na corda "how are you"
Os espaços são importantes. Não quero obter howareyou
o que tenho com minha tentativa até agora de usar
"".join(my_list)
list
como um nome de variável.Respostas:
" ".join(my_list)
você precisa se juntar com um espaço, não uma string vazia ...
fonte
list = ['how ', 'are ', 'you ']
, como converter isso em lista." ".join([i.strip() for i in my_list)
Vou lançar isso como uma alternativa apenas por diversão, embora seja praticamente inútil quando comparado com
" ".join(my_list)
cordas. Para não strings (como uma matriz de ints), isso pode ser melhor:" ".join(str(item) for item in my_list)
fonte
Para Non String
list
, podemos fazer assim também" ".join(map(str, my_list))
fonte
Portanto, para obter a saída desejada, devemos primeiro saber como a função funciona.
A sintaxe do
join()
método, conforme descrito na documentação do Python, é a seguinte:string_name.join(iterable)
Coisas a serem observadas:
string
concatenado com os elementos deiterable
. O separador entre os elementos sendo ostring_name
.iterable
irá gerar umTypeError
Agora, para adicionar espaços em branco , precisamos apenas substituir o
string_name
por um" "
ou' '
ambos irão funcionar e colocar oiterable
que queremos concatenar.Portanto, nossa função será mais ou menos assim:
' '.join(my_list)
Mas, e se quisermos adicionar um determinado número de
white spaces
entre nossos elementos noiterable
?Precisamos adicionar isto:
str(number*" ").join(iterable)
aqui,
number
será uma entrada do usuário.Então, por exemplo, se
number=4
.Então, a saída de
str(4*" ").join(my_list)
seráhow are you
, portanto, entre cada palavra, há 4 espaços em branco.fonte
"".join([i for i in my_list])
Isso deve funcionar exatamente como você pediu!
fonte
você pode iterar para fazer isso
my_list = ['how', 'are', 'you'] my_string = " " for a in my_list: my_string = my_string + ' ' + a print(my_string)
saída é
você pode tirá-lo para obter
como isso
my_list = ['how', 'are', 'you'] my_string = " " for a in my_list: my_string = my_string + ' ' + a print(my_string.strip())
fonte
Por que você não adiciona um espaço nos itens da própria lista, como:
list = ["how ", "are ", "you "]
fonte
input(a).split(b)
)