все Python 3pprintфункция
pprint.isrecursive()
проверки
Проверяет, ссылается ли структура (список, словарь, кортеж) сама на себя — тогда её repr содержит заглушку вместо бесконечной вложенности.
Синтаксис
pprint.isrecursive(object)
print такие структуры не вешает — покажет [...], — но ваша рекурсивная функция обхода упадёт с RecursionError; isrecursive заранее скажет, что в данных петля. Видит только dict, list и tuple с неизменённым __repr__: петлю через атрибуты своих объектов не обнаружит. Один и тот же объект в двух местах — не рекурсия: [x, x] даёт False.
Примеры
import pprint
a = [1, 2]
print(pprint.isrecursive([a, a])) # → False
a.append(a)
print(pprint.isrecursive(a), a) # → True [1, 2, [...]]
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности