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

如何将多个列表的指定元素存入同一变量且可区分对应课程

最优实现方案

推荐用结构化字典存储所有课程信息,既可以满足统一存储所有成绩的需求,也能快速调取单门课的对应信息,不需要手动逐个写判断逻辑。

具体实现代码

步骤1:结构化原始课程数据

# 先把所有原始课程数据统一存到一个列表里
all_courses_raw = [
    ['undergraduate', '1110', 'Computer Science I', '2 4 0', 'BA', 'none'],
    ['undergraduate', '1120', 'Computer Science II', '2 4 0', 'none', '1110'],
    ['undergraduate', '3310', 'Data and File Structures', '1 3 0', 'none', '1310, 1120'],
    ['undergraduate', '1310', 'Foundations of Computer Sci', '1 4 0', 'C', 'none'],
    ['graduate', '5091', 'Computer Science Seminar', '1 2 0 seminar', 'none', '3310']
]

course_info = {}
grade_map = {} # 统一存储所有成绩的grade变量,key为课程号,value为对应成绩

for course in all_courses_raw:
    course_id = course[1] # 用唯一的课程号作为索引
    grade = course[4]
    has_grade = grade != "none"
    # 结构化存储单门课所有信息
    course_info[course_id] = {
        "raw_list": course, # 保留原始列表数据,方便你调取原始信息
        "grade": grade,
        "has_grade": has_grade,
        "course_name": course[2],
        "level": course[0]
    }
    grade_map[course_id] = grade

步骤2:调用方式

  • 查看所有课程的成绩:直接访问grade_map变量即可
  • 单独查询某门课的信息(以课程号1110为例,对应你说的class1):
    # 判断课程是否有成绩,直接返回布尔值True/False
    course_info["1110"]["has_grade"]
    # 获取课程具体成绩
    course_info["1110"]["grade"]
    # 获取课程的原始列表数据
    course_info["1110"]["raw_list"]
    
  • 批量筛选所有有成绩的课程:
    graded_courses = [cid for cid, info in course_info.items() if info["has_grade"]]
    

方案优势

  • 不需要手动为每门课写判断逻辑,后续新增课程只要往all_courses_raw中添加条目即可自动完成处理
  • 所有数据结构化存储,不需要记忆列表索引,可读性和可维护性更高
  • 同时满足统一存储所有成绩、单独调取单门课信息的需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 21:06:00