Skip to content

Como usar Pretty Print para dicionários em Python

Updated on

O Python, com suas bibliotecas abundantes e sintaxe concisa, tornou-se um paradigma de simplicidade no mundo da programação. No entanto, a legibilidade do código, especialmente no caso de estruturas de dados aninhadas como dicionários, pode se tornar o Python na grama. Hoje, vamos desvendar a arte intricada de imprimir dicionários de forma bonita em Python.

Quer criar rapidamente visualizações de dados a partir de um DataFrame do Pandas Python sem escrever código?

PyGWalker é uma biblioteca Python para Análise Exploratória de Dados com Visualização. O PyGWalker (opens in a new tab) pode simplificar a análise de dados e o fluxo de visualização de dados no seu Jupyter Notebook, transformando seu DataFrame do pandas (e DataFrame do polars) em uma interface do usuário semelhante ao Tableau para exploração visual.

PyGWalker for Data visualization (opens in a new tab)

Por que a necessidade de imprimir dicionários de forma bonita?

Os dicionários, inerentes ao Python, são estruturas de dados indispensáveis para facilitar o armazenamento eficiente de dados. No entanto, sua representação, especialmente quando crescem grandes e complexos, pode se transformar em um emaranhado de chaves e vírgulas. É aqui que o módulo pprint da biblioteca padrão do Python entra para salvar o dia.

O módulo pprint: Uma breve análise

O módulo pprint, que significa "pretty print", tem como objetivo fornecer representações mais legíveis e esteticamente agradáveis de estruturas de dados complexas, como dicionários. É uma ferramenta poderosa a ser usada em seu arsenal de codificação Python, tanto se você for um novato começando sua jornada em Python, quanto se você for um cowboy experiente com anos de códigos rodeo.

from pprint import pprint
 
my_dict = {"chave1": "valor1", "chave2": {"chave_aninhada1": "valor_aninhado1", "chave_aninhada2": "valor_aninhado2"}}
pprint(my_dict)

Introduzindo a indentação com pprint

Embora o pprint melhore a legibilidade por meio da formatação, ele pode ser ainda mais aprimorado introduzindo a indentação. Esse truque de cowboy permite que você controle o início de cada nova linha de um objeto impresso de forma bonita.

from pprint import pprint
 
my_dict = {"chave1": "valor1", "chave2": {"chave_aninhada1": "valor_aninhado1", "chave_aninhada2": "valor_aninhado2"}}
pprint(my_dict, indent=4)

Esses trechos de código apenas arranham a superfície das imensas capacidades do pprint. Há muito mais para explorar - diferentes parâmetros, métodos alternativos e variações da função pprint.

Lembre-se de que, nesse velho oeste do código Python, imprimir dicionários de forma bonita é seu cavalo confiável para navegar pelo terreno tumultuado de estruturas de dados complexas. Então, vamos selar a sela e aprofundar mais no fascinante mundo do pprint do Python.

Aprofundando-se: Gerenciamento da largura na impressão bonita

Controlar a largura da saída pode ser fundamental para alguns casos. Que tal ajustar seu dicionário impresso a um certo número de caracteres por linha? A função pprint fornece um parâmetro chamado width, que nos permite limitar a largura da saída.

from pprint import pprint
 
my_dict = {"chave1": "valor1", "chave2": {"chave_aninhada1": "valor_aninhado1", "chave_aninhada2": "valor_aninhado2"}}
pprint(my_dict, width=40)

Você pode estar se perguntando, como o módulo lida com a restrição de largura no caso de um valor muito longo para caber? Bem, o módulo pprint lida com isso de forma engenhosa, quebrando a linha após a vírgula, respeitando o limite de largura definido pelo usuário.

A função pformat: Um desvio útil

Embora a impressão bonita de dicionários diretamente no console seja útil, há casos em que você pode precisar de uma string impressa de forma bonita para processamento posterior. É aqui que o pformat entra em cena.

from pprint import pformat
 
my_dict = {"chave1": "valor1", "chave2": {"chave_aninhada1": "valor_aninhado1", "chave_aninhada2": "valor_aninhado2"}}
pretty_string = pformat(my_dict)
print(pretty_string)

Perguntas frequentes

Sabemos que o mundo da impressão bonita no Python pode ser avassalador. Aqui estão algumas perguntas frequentes que podem responder a algumas de suas dúvidas:

  1. Qual é a vantagem de imprimir dicionários de forma bonita em Python? A impressão bonita melhora a legibilidade do seu dicionário, especialmente quando ele é grande e complexo. Isso garante que a saída seja mais amigável para os humanos e mais fácil de compreender em um relance.

  2. Como controlar a indentação em um dicionário impresso de forma bonita? Você pode controlar a indentação usando o parâmetro indent na função pprint. O valor fornecido para indent será o número de espaços usados para indentar cada nível.

  3. O que é a função pformat no módulo pprint do Python? A função pformat imprime seu dicionário do Python de forma bonita e o retorna como uma string. Isso é útil quando você deseja uma representação impressa de forma bonita para processamento posterior e não apenas para impressão no console.

Com isso, iluminamos o caminho para dominar a impressão bonita de dicionários em Python. Confiamos que você está agora equipado melhor para navegar neste território. Continue explorando, continue codificando!