Python中按列表元素值所属区间执行对应运算的实现问题
原代码错误点
range()仅支持整数作为入参,无法传入1.5这类浮点数值,且代码逻辑错误选择遍历区间,没有遍历目标列表的元素- 不能直接对列表整体执行
list + 5的算术运算,需要针对逐个元素做区间判断后再计算
正确实现
首先注意不要使用list作为变量名,它是Python内置关键字,建议改为num_list避免冲突:
num_list = [0.5, 1, 1.5, 2, 2.5, 3] j = [0] for num in num_list: if 0 <= num < 1.5: j.append(num + 5) elif 1.5 <= num < 3: j.append(num + 10) # 若需要处理等于3的情况,可补充else分支 # else: # j.append(num + 10)
输出结果说明
上述代码运行后,j的结果为[0, 5.5, 6, 11.5, 12, 12.5]。如果需要把数值3纳入第二个计算区间,把第二个判断条件改为1.5 <= num <= 3即可。
内容的提问来源于stack exchange,提问作者greenrabbit
相关产品推荐
相关产品推荐

