continuous learning company
Voltar para publicações
Ana Clara
ana clara castro Conheça o autor

join() no Python: Como Juntar Textos de uma Lista (e Testar ao Vivo)

Lista de textos de um lado, uma única string do outro. Conheça o join(), escolha o separador, descubra por que números dão erro e teste tudo ao vivo aqui.

07/10/2026 Desenvolvimento
Infográfico sobre o método join() no Python: o que é, exemplo básico juntando nomes, separadores (espaço, hífen, vírgula e quebra de linha), atenção com números usando map(str) e a relação entre split() e join()

Você tem vários textos e precisa de uma única string. Como juntar tudo?

Quando trabalhamos com coleções de textos, muitas vezes precisamos transformar vários elementos em uma única string: uma lista de nomes para mostrar na tela, uma data montada a partir de partes, um caminho de arquivo. É aí que entra o join(). E, como diz o infográfico, juntar textos também é programar!

1. O que é o join()?

join() é um método de strings que junta os elementos de um iterável de strings, colocando um separador entre eles. Repare em um detalhe: quem chama o método é o separador, e o iterável vai entre parênteses.

"separador".join(iteravel_de_strings)

Em linguagem simples, "iterável" é qualquer coisa que o Python consegue percorrer item por item. A lista é o exemplo mais comum (e o que usamos neste artigo), mas tuplas e geradores também funcionam, desde que cada item seja uma string.

", ".join(("Ana", "João"))              # tupla
", ".join(nome.title() for nome in nomes)  # gerador

2. Exemplo básico

Vamos juntar os nomes de uma lista usando vírgula e espaço como separador:

nomes = ["Ana", "João", "Maria"]
resultado = ", ".join(nomes)
print(resultado)
Ana, João, Maria

O separador aparece só entre os elementos: não sobra vírgula no começo nem no fim.

Teste agora: monte o seu join()

Edite os itens (um por linha) e escolha o separador. O resultado muda em tempo real:

Dica: no campo do separador, \n vale como quebra de linha. Experimente | ou e .

3. O separador pode ser qualquer coisa

Você escolhe o que vai ficar entre os elementos: um espaço, um hífen, uma vírgula, uma quebra de linha ou qualquer texto.

SeparadorCódigoResultado
Espaço" ".join(["Python", "é", "incrível"])Python é incrível
Hífen"-".join(["2026", "09", "28"])2026-09-28
Vírgula",".join(["maçã", "banana", "laranja"])maçã,banana,laranja
Quebra de linha"\n".join(["Ana", "João", "Maria"])Ana, João e Maria, cada um em uma linha

4. Atenção: join() trabalha com strings

Se a lista tiver números, o Python não converte sozinho. Veja o erro:

numeros = [10, 20, 30]
"-".join(numeros)
TypeError: sequence item 0: expected str instance, int found

A solução é converter cada elemento para texto antes de juntar. Uma forma é usar map() com str:

numeros = [10, 20, 30]
print("-".join(map(str, numeros)))
10-20-30

Outra forma, muito comum, é uma list comprehension (ou expressão geradora): "-".join(str(n) for n in numeros). As duas fazem a mesma coisa; escolha a que ficar mais legível para você.

Teste agora: o erro do join()

Digite números separados por vírgula e alterne a conversão para ver a diferença:

5. split() e join() são opostos

Enquanto o split() separa uma string em partes, o join() junta várias strings em uma só. Quando você usa o mesmo separador nos dois, um desfaz o que o outro fez:

texto = "Python,FastAPI,Docker"

partes = texto.split(",")
print(partes)          # ["Python", "FastAPI", "Docker"]

de_novo = ",".join(partes)
print(de_novo)         # "Python,FastAPI,Docker"

Atenção: isso não é uma regra universal. O split() chamado sem separador agrupa espaços consecutivos, então juntar as partes de novo não recupera necessariamente a formatação original:

texto = "Python    FastAPI   Docker"

partes = texto.split()
print(partes)           # ["Python", "FastAPI", "Docker"]

print(" ".join(partes)) # "Python FastAPI Docker" (espaços extras perdidos)

Quer ver o ciclo completo? Veja nosso artigo sobre split() em Python.

Teste agora: split() e join() ao vivo

  • →
  • →
  • Voltou ao texto original?

6. Cuidados e boas práticas

  • CSV: cuidado. Juntar valores com vírgula serve para demonstrações simples. Para gerar CSV de verdade, com campos que contêm vírgulas, aspas ou quebras de linha, use o módulo csv da biblioteca padrão, que faz o escape corretamente.
  • A string original não muda. Strings são imutáveis: join() devolve uma nova string. Guarde o resultado em uma variável.
  • Lista vazia? ", ".join([]) devolve uma string vazia (""), sem erro.
  • Uma string também é iterável. "-".join("abc") devolve "a-b-c", porque cada letra é um elemento.
  • Prefira join() a concatenar em loop. Montar um texto longo com += dentro de um laço cria uma string nova a cada volta; juntar a lista de uma vez com join() é mais limpo e costuma ser mais eficiente.
# Evite
texto = ""
for nome in nomes:
    texto += nome + ", "

# Prefira
texto = ", ".join(nomes)

Para lembrar

  • split() = separar.
  • join() = juntar.
  • O separador vem antes do ponto: "separador".join(iteravel). Lista é o caso mais comum, mas tupla e gerador também servem.
  • Só junta strings: com números, use map(str, lista).

Em resumo

join() é um método simples, mas muito útil para formatar dados, gerar textos, montar listas e trabalhar com informações vindas de bancos de dados, arquivos ou APIs. Abra o seu editor, teste os exemplos e troque os separadores para ver o resultado. Mais um passo no seu roadmap de Python: bora praticar!

Teste seu conhecimento

Responda às perguntas abaixo para revisar os principais pontos deste artigo.

1. O que o método join() faz?

2. Qual é o resultado de ", ".join(["Ana", "João", "Maria"])?

3. O que acontece com "-".join([10, 20, 30])?

4. Qual é a relação entre split() e join()?

5. Qual separador devolve cada elemento em uma linha diferente?

Continue sua trilha

Trilha de Python · 0% concluído · 0 de 12 conteúdos concluídos

Livros recomendados