如何将数字舍入到最接近的1000?

123*_*pie 11 python rounding

我有一些问题要将数字列表向上和向下舍入到最接近的1000.

以下是我的代码:

rev_list = []

for i in range(12):
    rev = int(round(random.normalvariate(100000, 12000)))
    rev_list.append(rev)

print(rev_list)
Run Code Online (Sandbox Code Playgroud)

输出是:

[97277, 96494, 104541, 132060, 98179, 87862, 84718, 95391, 94674, 89773, 92790, 86122]
Run Code Online (Sandbox Code Playgroud)

我想将列表四舍五入到最接近的1000.我该怎么做?

Sha*_*ger 20

round函数可以取负数来舍入到,这会使其舍入到小数的左边.例如:

>>> round(15768, -3)
16000
>>> round(1218, -3)
1000
Run Code Online (Sandbox Code Playgroud)

所以简短的回答是:round用第二个参数调用-3以舍入到最接近的1000.