您可以使用float的is_integer方法。它返回
True是否可以将浮点数表示为整数(换句话说,如果其形式为
X.0):
li = [3.5, 2.5, 5.0, 7.0]print([int(num) if float(num).is_integer() else num for num in li])>> [3.5, 2.5, 5, 7]
编辑
OP添加他们的代码后:
而不是像上面的原始示例那样使用列表理解,您应该对计算的平均值使用相同的逻辑:
get_numbers = map(float, line[-1]) # assuming line[-1] is a list of numbersaverage_numbers = sum(get_numbers) / len(get_numbers)average = round(average_numbers * 2) / 2average = int(average) if float(average).is_integer() else averageprint average # this for example will print 3 if the average is 3.0 or # the actual float representation.



