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

如何从嵌套列表中提取指定的考试表头元素?

问题:提取嵌套列表中的Exam表头

原始嵌套列表

[['Student', 'Exam 1', 'Exam 2', 'Exam 3'],
 ['Thorny', '100', '90', '80'],
 ['Mac', '88', '99', '111'],
 ['Farva', '45', '56', '67'],
 ['Rabbit', '59', '61', '67'],
 ['Ursula', '73', '79', '83'],
 ['Foster', '89', '97', '101']]

成功提取学生姓名的代码及结果

代码

def get_students(grades):
    student_names = []
    for i in range(1, len(grades)):
        student_names.append(grades[i][0])
    return student_names

输出结果

['Thorny', 'Mac', 'Farva', 'Rabbit', 'Ursula', 'Foster']

提取Exam表头的错误尝试

错误代码

def get_assignments(grades):
    exam_list = []
    for i in range(6, len(grades)):
        exam_list.append(grades[0][1 : ]) 
    return exam_list

错误输出结果

[['Exam 1', 'Exam 2', 'Exam 3']]

预期输出

['Exam 1', 'Exam 2', 'Exam 3']

解决建议

你的错误代码存在两个核心问题:

  1. 冗余循环:目标数据是第一行(grades[0])中从第2个元素开始的子列表,这本身就是你要的结果,不需要通过循环追加到空列表。你写的range(6, len(grades))只会执行1次,直接把整个子列表作为元素加入exam_list,导致结果变成嵌套结构。
  2. 索引逻辑错误:循环的范围完全没必要,因为目标数据只存在于第一行。

最简正确写法

直接返回目标子列表即可:

def get_assignments(grades):
    return grades[0][1:]

练习循环的写法(可选)

如果是为了练习循环逻辑,可以遍历第一行中从索引1开始的元素,逐个添加到列表:

def get_assignments(grades):
    exam_list = []
    for exam in grades[0][1:]:
        exam_list.append(exam)
    return exam_list

以上两种写法都能得到你想要的预期输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 10:55:22