Каков эквивалент print_r php () в Python?

Или есть ли лучший способ быстро произвести содержание массива (многомерный или что не).Спасибо.

76
задан demongolem 19 May 2014 в 16:52
поделиться

2 ответа

Оператор python print отлично справляется с форматированием многомерных массивов, не требуя print_r , доступного в php.

Поскольку определение для печати гласит, что каждый объект преобразуется в строку, и поскольку простые массивы печатают '[', за которым следует список значений объектов, разделенных запятыми, за которым следует ']', это будет работать для любой глубины и форма массивов.

Например,

>>> x = [[1,2,3],[4,5,6]]
>>> print x
[[1, 2, 3], [4, 5, 6]]

Если вам нужно более сложное форматирование, чем это, ответ AJ , предлагающий pprint , вероятно, будет правильным решением.

51
ответ дан 24 November 2019 в 11:23
поделиться

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

5
ответ дан 24 November 2019 в 11:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: