You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python列表首元素为字符串如何移除 正确计算数值中位数

错误根因
  • 你当前代码中alter = line.split()[0] 每次循环都会将alter赋值为当前行的单个字符串对象,并非存储所有数据的列表,字符串类型没有pop方法,因此触发属性报错。
  • 你没有将所有数值行的数据收集到同一个列表中,也没有跳过第一行的表头、将数值字符串转换为数字类型,无法直接计算中位数。
  • 最终打印的Alter和你定义的alter大小写不一致,属于变量名拼写错误,即使前面逻辑正确也会触发未定义报错。
修复后可运行代码
import statistics

# 初始化空列表存储所有年龄数值
alter_list = []

with open('/Users/solidaneziri/Downloads/Data_Exercise_1.txt') as infile:
    # 跳过第一行表头
    next(infile)
    for line in infile:
        # 去除行首尾空白,跳过空行
        line_content = line.strip()
        if not line_content:
            continue
        # 转换为整数后加入列表
        alter_list.append(int(line_content))

# 计算并打印中位数
median_alter = statistics.median(alter_list)
print(median_alter)
运行结果

执行上述代码后会直接输出你预期的22.5。

内容的提问来源于stack exchange,提问作者nsol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 03:06:03