У меня есть программа, которая имеет дело с вложенными структурами данных, где базовый тип обычно заканчивается десятичным числом. например
x={'a':[1.05600000001,2.34581736481,[1.1111111112,9.999990111111]],...}
Есть ли простой питонный способ вывести такую переменную, но округляя все числа с плавающей точкой, скажем, до 3dp, и не предполагая конкретной конфигурации списков и словарей? например,
{'a':[1.056,2.346,[1.111,10.000],...}
Я думаю, что-то вроде
pformat(x,round=3)
или, может быть
pformat(x,conversions={'float':lambda x: "%.3g" % x})
за исключением того, что я не думаю, что они обладают такой функциональностью. Постоянное округление базовых данных, конечно, не вариант.