首页 > 解决方案 > 如何将数字列表四舍五入到一组允许的数字

问题描述

我一直在尝试通过下面的代码运行一个数字列表,以将不同的数字转换为某些允许的数字,但必须有比这更好的方法。

goalNum = [-3, 0, 2, 4, 7, 10, 12]

def roundGrade(grades):
    gradeRounded = []
    for i in grades:
        if i < -1.5:
            gradeRounded.append(-3)
        elif -1.5 <= i < 1:
            gradeRounded.append(0)
        elif 1 <= i < 3:
            gradeRounded.append(2)
        elif 3 <= i < 5.5:
            gradeRounded.append(4)
        elif 5.5 <= i < 8.5:
            gradeRounded.append(7)
        elif 8.5 <= i < 11:
            gradeRounded.append(10)
        elif 11 <= i <= 12:
            gradeRounded.append(12)
    gradeRounded = np.array(gradeRounded)
    return gradeRounded

现在我已经完成了将相应的舍入等级附加到一个新向量,然后只使用它,但我想将它缩短一点。

标签: pythonpython-3.xrounding

解决方案


推荐阅读