Python 将字典中的 UP/DOWN 个整数与列表舍入

Python round UP/DOWN integers in dictionary with list

是否有任何方法或简单的方法可以将整数四舍五入到所需的点(数百、数千等)?是的,我知道可以使用数学库,可以使用函数等等,但对于简单的事情来说似乎很复杂。至少是旧的 python 版本我找不到好东西。

13 -> 20;
2237 -> 2240;
3451 -> 3500

我的情况: dict = {'Key':[2312, 467]}

需要得到: dict = {'Key':[2320, 470]}

显示示例,还显示何时需要向下舍入或以数学方式舍入(0-4 到 0、5-9 到 10)

这应该会如您所愿。

round_degree = 100
number = 2151


# Example rounding down to nearest 100
rounded_down = (number // round_degree) * round_degree
print(number, rounded_down )


# Example rounding up to nearest 100
rounded_up = -(-number // round_degree) * round_degree
print(number, rounded_up)

你可以这样做:-

D = {'Key1': [2312, 467], 'Key2': [123, 129]}

for k, v in D.items():
    D[k] = [int(round(_n, -1)) for _n in v]

print(D)

您可以实现您的回合版本

def round(number, digits):
    mult = 10**(digits)
    val = int((number*mult)+0.5*(1 if number > 0 else -1))/mult 
    return val

for k, v in dict.items():
   dict[k] = [ round(number, -1) for number in v ]