如果在Python中大于x,则将浮点列表转换为最接近的整数

Boo*_*d16 1 python math int list converter

我是Python的新手,我做了我的研究,但没有走得太远,因此请求帮助.

我有一个浮点列表,如果元素大于0.50,我想要舍入到最接近的整数.

list = [54.12,86.22,0.30,0.90,0.80,14.33,0.20]
Run Code Online (Sandbox Code Playgroud)

预期结果:

list = [54,86,0.30,1,1,14,0.20]
Run Code Online (Sandbox Code Playgroud)

mgi*_*son 6

使用python 条件表达式:

[round(x) if x > 0.5 else x for x in lst] 
Run Code Online (Sandbox Code Playgroud)

例如:

>>> [round(x) if x > 0.5 else x for x in lst] 
[54.0, 86.0, 0.3, 1.0, 1.0, 14.0, 0.2]
Run Code Online (Sandbox Code Playgroud)

为了得到它,我们需要int从输出构造一个round:

>>> [int(round(x)) if x > 0.5 else x for x in lst] 
[54, 86, 0.3, 1, 1, 14, 0.2]
Run Code Online (Sandbox Code Playgroud)