Могу ли я заставить pprint печатать заданное количество элементов в строке вместо ширины? - PullRequest
0 голосов
/ 10 марта 2020

У меня есть список значений, и я хотел бы напечатать его таким образом, чтобы после определенного количества элементов pprint вызывал новую строку. Я работаю с набором данных Dynami c, и невозможно предсказать, какой будет ширина каждой новой требуемой строки. Сами элементы являются исключительно строками и представляют логическое значение. Это желаемый эффект:

[ o x x x o
  x o x x x
  x x o x o
  x o x o x 
  x x x x o ]

1 Ответ

0 голосов
/ 10 марта 2020

Для этого вы можете использовать textwrap. Особенности будут зависеть от вашего кода и того, что вы хотите, но вот пример:

import random
import textwrap

some_booleans = [
    random.choice([True, False]) for _ in range(30)
]

stringified = ''.join('x' if elem else 'o' for elem in some_booleans)
adjusted_lines = textwrap.wrap(stringified, width=10)
to_print = '\n'.join(adjusted_lines)

print(to_print)

Вывод:

oxoxoxoxxo
xxxxooxooo
xxxxoxxxoo
...