HOWTO · Python
Imprimir lista sem colchetes em Python
Este tutorial demonstra como imprimir uma lista sem colchetes em Python
Nesta página
Para exibir uma lista em Python sem os colchetes, imprima seus elementos com desempacotamento, junte elementos de texto com um delimitador ou formate cada item em um loop. Escolha print() quando precisar apenas exibir o resultado; use join() quando precisar de uma nova string para armazenar ou usar em outro lugar. Os exemplos abaixo mostram a saída exata de cada abordagem.
Execute este exemplo:
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
items = ["x", "y", "z"]
print(*items, sep=",")
x,y,z
Use join() em uma lista de strings
Chame join() na string separadora. Ela retorna uma única string, inserindo esse separador entre as strings de entrada. Isso é útil quando você precisa atribuir o resultado formatado a uma variável, combiná-lo com outro texto ou gravá-lo mais tarde.
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
items = ["red", "green", "blue"]
result = ", ".join(items)
print(result)
red, green, blue
Todos os elementos já precisam ser strings. Se a lista contiver um número inteiro ou outro valor que não seja string, join() gera TypeError; converta os elementos primeiro, como mostrado abaixo. Uma lista vazia resulta em uma string vazia, e uma lista com um único item não inclui separador no resultado.
Use o desempacotamento com print() para valores de tipos diferentes
O operador * desempacota um iterável em argumentos posicionais separados. print() aceita valores de tipos diferentes e converte cada um em texto para exibição. O parâmetro sep controla o texto entre os argumentos; o padrão é um espaço.
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
values = [1, "two", 3.0, True]
print(*values, sep=" | ")
1 | two | 3.0 | True
Isso escreve diretamente na saída padrão e não cria uma string concatenada reutilizável. Com uma lista vazia, o desempacotamento não fornece nenhum valor, então print() escreve apenas a quebra de linha final. Use sep="" para colocar os valores lado a lado ou mantenha o padrão quando espaços forem adequados.
Converta os valores em strings antes de juntá-los
Quando quiser obter uma string a partir de valores como números, converta cada item explicitamente com map(str, values) ou uma compreensão. Assim, você mantém o controle sobre o separador. A conversão usa a representação de cada valor produzida por str(), que se destina a texto legível e pode não preservar informações sobre o tipo.
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
numbers = [1, 2, 3]
result = ",".join(map(str, numbers))
print(result)
1,2,3
Uma compreensão é útil se você também precisar transformar ou filtrar valores: ", ".join(str(value) for value in numbers). Nenhuma das abordagens altera a lista original; ambas criam strings para o resultado exibido.
Use o fatiamento de str() para uma exibição rápida
Chamar str() em uma lista produz sua representação em Python, incluindo os colchetes externos. Para uma exibição rápida, [1:-1] remove o primeiro e o último caractere dessa representação:
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
items = [1, 2, 3]
print(str(items)[1:-1])
1, 2, 3
Isso mantém detalhes da representação, incluindo aspas em torno de elementos de texto e colchetes aninhados em listas dentro de listas. É prático para uma inspeção simples, mas não é um formatador de uso geral nem um formato de serialização. Prefira juntar valores convertidos quando precisar de um separador definido e de uma formatação previsível para os elementos.
Imprima cada item em um loop para formatá-lo individualmente
Use um loop quando cada item precisar de uma formatação personalizada ou quando quiser controlar o que vem depois de cada item. Normalmente, print() encerra cada chamada com uma quebra de linha; definir end altera esse final. Ao imprimir os itens um de cada vez, inclua o separador em end.
O código e os rótulos ou saídas exibidos nesta seção permanecem em inglês.
items = [1, 2, 3]
for index, item in enumerate(items):
if index:
print(" ", end="")
print(item, end="")
print()
1 2 3
O loop escreve separadores apenas entre os itens; depois, a chamada final a print() acrescenta uma quebra de linha. Assim, evita um espaço no fim e deixa a linha exibida exata. Um loop escreve gradualmente na saída padrão, então escolha o desempacotamento ou a junção quando precisar de uma única operação ou de uma string reutilizável. Para aplicar outra formatação a cada item, monte o texto no loop ou passe um valor formatado para print().