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

如何从嵌套列表中获取两个值?CSV读取场景技术问询

嘿,你已经把CSV数据成功解析成嵌套列表了,这步做得很到位!要从中提取两个值的话,得看你具体想要哪类数据,我给你梳理几个最常用的场景,你可以按需参考:

场景1:获取指定学生的两门考试成绩

比如你想提取Paulo的G1和G2成绩,可以通过遍历列表匹配学生姓名,再提取对应位置的分数(记得把字符串转成数值类型,方便后续计算):

# 你的嵌套列表数据
student_data = [['NOME', 'G1', 'G2'], ['Paulo', '5.0', '7.2'], ['Pedro', '6', '4.1'], ['Ana', '3.3', '2.3'], ['Thereza', '5', '6.5'], ['Roberto', '7', '5.2'], ['Matheus', '6.3', '6.1']]

# 提取Paulo的G1和G2成绩
for row in student_data[1:]:  # 跳过表头行
    if row[0] == 'Paulo':
        paulo_g1 = float(row[1])
        paulo_g2 = float(row[2])
        print(f"Paulo的G1成绩:{paulo_g1},G2成绩:{paulo_g2}")
        break

运行后会输出:Paulo的G1成绩:5.0,G2成绩:7.2

场景2:获取某一科目的最高分和最低分

如果你想拿到G1科目的最高分和最低分,可以先提取所有G1的分数,再用max()和min()函数计算:

# 提取所有G1成绩(跳过表头)
g1_scores = [float(row[1]) for row in student_data[1:]]
# 计算最高分和最低分
g1_highest = max(g1_scores)
g1_lowest = min(g1_scores)
print(f"G1科目最高分:{g1_highest},最低分:{g1_lowest}")

# 同理提取G2的最高分和最低分
g2_scores = [float(row[2]) for row in student_data[1:]]
g2_highest = max(g2_scores)
g2_lowest = min(g2_scores)
print(f"G2科目最高分:{g2_highest},最低分:{g2_lowest}")

运行后会输出:

G1科目最高分:7.0,最低分:3.3
G2科目最高分:7.2,最低分:2.3

场景3:获取两门科目的平均分

如果需要统计G1和G2的平均分,可以用生成器表达式计算总分,再除以学生人数:

student_count = len(student_data[1:])
# 计算G1平均分
g1_average = sum(float(row[1]) for row in student_data[1:]) / student_count
# 计算G2平均分
g2_average = sum(float(row[2]) for row in student_data[1:]) / student_count
# 保留两位小数输出
print(f"G1平均分:{round(g1_average, 2)},G2平均分:{round(g2_average, 2)}")

运行后会输出:G1平均分:5.43,G2平均分:5.23

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:55:18