Словари в 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»
Спасибо, что прочитали эту статью. Я надеюсь, что это могло помочь вам в некотором роде. Не забудьте похлопать этой статье и ответить, если у вас есть предложения.