Словари в Python могут быть длинными, что часто приводит к беспорядку и усложняет чтение для человека. Просто распечатать словарь на терминале не получится. Итак, как мы можем сделать его читаемым для программиста? К счастью, в огромной коллекции библиотек для Python есть библиотека, которая может делать именно то, что нам нужно. Давайте посмотрим, как мы можем это сделать.

Модуль pprint («Pretty-Print»):

Модуль pprint имеет некоторые функции, которые помогают получить более четкое отображение элементов в словаре, чем то, что обеспечивает print(). Две функции: pprint() и pformat(). Во-первых, мы рассмотрим, как функция pprint() может улучшить читаемость словаря по сравнению с функцией print() в программе и функцией pformat() в конце.

Распечатать():

message = 'It was a bright cold day in April, and the clocks were striking thirteen.'
count = {}
for character in message:
  count.setdefault(character, 0)
  count[character] = count[character] + 1
print(count)

Это программа для подсчета количества появлений определенного символа в данном message, сохранения результата в виде словаря и вывода его с помощью функции print(). И вывод, который мы получаем от этой программы, выглядит примерно так:

{' ': 13, ',': 1, '.': 1, 'A': 1, 'I': 1, 'a': 4, 'c': 3, 'b': 1, 'e': 5, 'd': 3, 'g': 2, 'i': 6, 'h': 3, 'k': 2, 'l': 3, 'o': 2, 'n': 4, 'p': 1, 's': 3, 'r': 5, 't': 6, 'w': 2, 'y': 1}

Что вообще не читается, но на самом деле катастрофа.

печать():

import pprint
message = 'It was a bright cold day in April, and the clocks were striking thirteen.'
count = {}
for character in message:
  count.setdefault(character, 0)
  count[character] = count[character] + 1
pprint.pprint(count)

Это та же самая программа, которая печатает тот же словарь, но вместо этого использует функцию pprint() из модуля pprint. Давайте посмотрим, какую магию делает эта функция:

{' ': 13,
 ',': 1,
 '.': 1,
 'A': 1,
 'I': 1,
 'a': 4,
 'c': 3,
 'b': 1,
 'e': 5,
 'd': 3,
 'g': 2,
 'i': 6,
 'h': 3,
 'k': 2,
 'l': 3,
 'o': 2,
 'n': 4,
 'p': 1,
 's': 3,
 'r': 5,
 't': 6,
 'w': 2,
 'y': 1}

На этот раз, когда программа запущена, вывод выглядит намного чище, с отсортированными ключами.

Функция pprint.pprint() особенно полезна, когда сам словарь содержит вложенные списки или словари.

пформат():

Если вы хотите получить преттифицированный текст в виде строкового значения, а не отображать его на экране, вместо этого вызовите pprint.pformat(). Эти две строки эквивалентны друг другу:

pprint.pprint(someDictionaryValue) print(pprint.pformat(someDictionaryValue))

Ссылка на документацию модуля pprint:



pprint — Принтер данных — Документация по Python 3.8.5
Исходный код: Lib/pprint.py Модуль предоставляет возможность «красивой печати
произвольных структур данных Python в a…docs.python.org»



Спасибо, что прочитали эту статью. Я надеюсь, что это могло помочь вам в некотором роде. Не забудьте похлопать этой статье и ответить, если у вас есть предложения.