如何实现列表中间元素与指定数值的比较
Python 列表中间值对比实现方案
原有代码问题
- 函数内直接返回
print()的执行结果,print()执行后只会返回None,你无法拿到有效数值做后续对比 - 当前代码仅计算输出了列表中间位置的索引,没有取出索引对应的元素,没有真正拿到你需要的中间值
修正实现
我们调整函数逻辑,先计算中间索引、取出对应元素返回,再和指定数值做对比即可:
def get_mid_value(input_list): # 沿用你原有的索引计算逻辑:列表长度整除2 mid_index = len(input_list) // 2 # 返回索引对应的元素,而非打印索引 return input_list[mid_index] # 12个元素的测试列表 test_list = [1,2,3,4,5,6,7,8,9,10,11,12] # 获取中间值 mid_val = get_mid_value(test_list) # 定义要对比的目标值 target_num = 9 # 执行对比判断 print(mid_val > target_num)
如果你预期12个元素的列表中间值为数字6,只需要把索引计算逻辑调整为mid_index = len(input_list) // 2 - 1即可,调整后运行上述代码对比9会输出False,符合测试预期。
内容的提问来源于stack exchange,提问作者Archon
相关产品推荐
相关产品推荐

