У меня есть программа, которая имеет дело с вложенными структурами данных, где базовый тип обычно оказывается десятичным . например
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})
, но я не думаю, что у них есть такая функциональность. Постоянное округление базовых данных, конечно, не вариант.