Tôi có một chương trình liên quan đến cấu trúc dữ liệu lồng nhau trong đó loại cơ bản thường kết thúc bằng một số thập phân. ví dụ.Làm tròn số thập phân trong cấu trúc dữ liệu lồng nhau trong Python
x={'a':[1.05600000001,2.34581736481,[1.1111111112,9.999990111111]],...}
Có cách nào đơn giản để in biến như vậy nhưng làm tròn tất cả các float để nói (3dp) và không giả định một cấu hình cụ thể của danh sách và từ điển? ví dụ.
{'a':[1.056,2.346,[1.111,10.000],...}
Tôi đang nghĩ đến một cái gì đó giống như pformat(x,round=3)
hoặc có thể
pformat(x,conversions={'float':lambda x: "%.3g" % x})
trừ tôi không nghĩ rằng họ có loại chức năng. Vĩnh viễn làm tròn các dữ liệu cơ bản là tất nhiên không phải là một lựa chọn.
thế nào về việc chạy một vòng lặp như [sàn (x * 1000) /1000.0 cho x trong a]? –
chỉ hoạt động đối với danh sách các số. – acrophobia