it-swarm-pt.tech

Python string de concat com lista

Eu queria construir uma string a partir de uma lista.

Eu usei o comando string.join (), mas se eu tiver:

['hello', 'good', 'morning']

Eu recebo: hellogoodmorning

Existe um método que me permita colocar um espaço entre cada palavra? (sem a necessidade de escrever um loop for)

atenciosamente.

31
Lucas Kauffman

Tudo o que você precisa fazer é adicionar o espaço antes da junção.

 ' '.join(list)
60
Lance Collins
>>> ' '.join(['hello', 'good', 'morning'])
'hello good morning'

A maneira padrão e melhor de ingressar em uma lista de strings. Não consigo pensar em nada melhor que este.

18
kev

' '.join(...) é a maneira mais fácil como outros já mencionaram. E, de fato, é a maneira preferida de fazer isso em todos os casos (mesmo se você estiver ingressando sem preenchimento, basta usar ''.join(...)).

Embora ainda tenha algumas funções úteis ... a maioria das funções dos módulos string foram feitas métodos no tipo/objeto str.

Você pode encontrar a lista completa de funções de string obsoletas (incluindo join) na seção funções de string obsoletas da seção python.

4
Adam Wagner

Isso faz o que você deseja:

" ".join(['hello', 'good', 'morning'])

Geralmente, quando você está chamando join() em alguma string, usa " " Para especificar o separador entre os elementos da lista.

4
bofh.at
>>> " ".join(['hello', "good", "morning"])
'hello good morning'

ou você pode usar a função string.join(), que usa um único espaço como separador padrão.

>>> help(string.join)
Help on function join in module string:

join(words, sep=' ')
    join(list [,sep]) -> string

    Return a string composed of the words in list, with
    intervening occurrences of sep.  The default separator is a
    single space.

exemplo:

>>> import string
>>> string.join(['hello', "good", "morning"])
'hello good morning'
3
Fredrik Pihl