m0_64532668 2022-05-20 11:32 采纳率: 100%
浏览 46
已结题

python 字典 提取信息问题

#问题
class1 = {
'name': 'python2104',
'address': '23教',
'lecturer': {'name': '余婷', 'age': 18, 'QQ': '726550822'},
'leader': {'name': '舒玲', 'age': 18, 'QQ': '2343844', 'tel': '110'},
'students': [
{'name': 'stu1', 'school': '清华大学', 'tel': '1123', 'age': 18, 'score': 98, 'linkman': {'name': '张三', 'tel': '923'}},
{'name': 'stu2', 'school': '攀枝花学院', 'tel': '8999', 'age': 28, 'score': 76, 'linkman': {'name': '李四', 'tel': '902'}},
{'name': 'stu3', 'school': '成都理工大学', 'tel': '678', 'age': 20, 'score': 53, 'linkman': {'name': '小明', 'tel': '1123'}},
{'name': 'stu4', 'school': '四川大学', 'tel': '9900', 'age': 30, 'score': 87, 'linkman': {'name': '小花', 'tel': '782'}},
{'name': 'stu5', 'school': '西南交大', 'tel': '665', 'age': 22, 'score': 71, 'linkman': {'name': '老王', 'tel': '009'}},
{'name': 'stu6', 'school': '成都理工大学', 'tel': '892', 'age': 32, 'score': 80, 'linkman': {'name': '老王2', 'tel': '0091'}},
{'name': 'stu7', 'school': '四川大学', 'tel': '431', 'age': 17, 'score': 65, 'linkman': {'name': '老王3', 'tel': '0092'}},
{'name': 'stu8', 'school': '攀枝花学院', 'tel': '2333', 'age': 16, 'score': 32, 'linkman': {'name': '老王4', 'tel': '0093'}},
{'name': 'stu9', 'school': '攀枝花学院', 'tel': '565', 'age': 21, 'score': 71, 'linkman': {'name': '老王5', 'tel': '0094'}}
]
}

1)打印班主任的名字和电话
2)获取所有学生联系人linkman的名字,形成一个列表
3)计算班级最高分和平均分并输出

  • 写回答

2条回答 默认 最新

  • 鸡蛋酱$ 2022-05-20 12:06
    关注
    
    def function(json: dict):
        teacher = [json['leader']['name'], json['leader']['tel']]
        stu_name_arr = [i['linkman']['name'] for i in json['students']]
        stu_grade_arr = [i['score'] for i in json['students']]
        max_grade = max(stu_grade_arr)
        avg_grade = sum(stu_grade_arr) / len(stu_grade_arr)
        return teacher, stu_name_arr, max_grade, avg_grade
    
    
    if __name__ == '__main__':
        class1 = {
            'name': 'python2104',
            'address': '23教',
            'lecturer': {'name': '余婷', 'age': 18, 'QQ': '726550822'},
            'leader': {'name': '舒玲', 'age': 18, 'QQ': '2343844', 'tel': '110'},
            'students': [
                {'name': 'stu1', 'school': '清华大学', 'tel': '1123', 'age': 18, 'score': 98,
                 'linkman': {'name': '张三', 'tel': '923'}},
                {'name': 'stu2', 'school': '攀枝花学院', 'tel': '8999', 'age': 28, 'score': 76,
                 'linkman': {'name': '李四', 'tel': '902'}},
                {'name': 'stu3', 'school': '成都理工大学', 'tel': '678', 'age': 20, 'score': 53,
                 'linkman': {'name': '小明', 'tel': '1123'}},
                {'name': 'stu4', 'school': '四川大学', 'tel': '9900', 'age': 30, 'score': 87,
                 'linkman': {'name': '小花', 'tel': '782'}},
                {'name': 'stu5', 'school': '西南交大', 'tel': '665', 'age': 22, 'score': 71,
                 'linkman': {'name': '老王', 'tel': '009'}},
                {'name': 'stu6', 'school': '成都理工大学', 'tel': '892', 'age': 32, 'score': 80,
                 'linkman': {'name': '老王2', 'tel': '0091'}},
                {'name': 'stu7', 'school': '四川大学', 'tel': '431', 'age': 17, 'score': 65,
                 'linkman': {'name': '老王3', 'tel': '0092'}},
                {'name': 'stu8', 'school': '攀枝花学院', 'tel': '2333', 'age': 16, 'score': 32,
                 'linkman': {'name': '老王4', 'tel': '0093'}},
                {'name': 'stu9', 'school': '攀枝花学院', 'tel': '565', 'age': 21, 'score': 71,
                 'linkman': {'name': '老王5', 'tel': '0094'}}
            ]
        }
        res = function(class1)
        print("班主任的姓名:", res[0][0])
        print("班主任的电话:", res[0][1])
        print("学生联系人linkman列表::", res[1])
        print("班级最高分:", res[2])
        print("班级平均分:", res[3])
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月31日
  • 已采纳回答 5月23日
  • 创建了问题 5月20日

悬赏问题

  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?