Eowyneeee 2022-11-01 09:03 采纳率: 75%
浏览 125
已结题

关于#python#的问题,如何解决?

成绩分组
班有55人,每个人的姓名&考试成绩存在⼀个⼤列表⾥,格式如下:

stu_list = [['李李渊', 82], ['李李世⺠民', 7], ['侯君集', 5], ['李李靖', 58], ['魏征', 41], ['房⽞玄龄', 64], ['杜如晦', 65], ['柴绍', 94], ['程知节', 45], ['尉迟恭', 94], ['秦琼', 54], ['⻓长孙⽆无忌', 85], ['李李存恭', 98], ['封德彝', 16], ['段志⽞玄', 44], ['刘 弘基', 18], ['徐世绩', 86], ['李李治', 19], ['武则天', 39], ['太平公主', 57], ['⻙韦后', 76], ['李李隆隆基', 95], ['杨⽟玉环', 33], ['王勃', 49], ['陈⼦子昂', 91], ['卢照邻', 70], ['杨炯', 81], ['王之涣', 82], ['安禄⼭山', 18], ['史思明', 9], ['张巡', 15], ['雷雷万 春', 72], ['李李⽩白', 61], ['⾼高⼒力力⼠士', 58], ['杜甫', 27], ['⽩白居易易', 5], ['王维', 14], ['孟浩然', 32], ['杜牧', 95], ['李李商隐', 34], ['郭⼦子仪', 53], ['张易易之', 39], ['张昌 宗', 61], ['来俊⾂臣', 8], ['杨国忠', 84], ['李李林林甫', 95], ['⾼高适', 100], ['王昌龄', 40], ['孙思邈', 46], ['⽞玄奘', 84], ['鉴真', 90], ['⾼高骈', 85], ['狄仁杰', 62], ['⻩黄 巢', 79], ['王仙芝', 16], ['⽂文成公主', 13], ['松赞⼲干布', 47], ['薛涛', 79], ['⻥鱼⽞玄 机', 16], ['贺知章', 20], ['李李泌泌', 17], ['韩愈', 100], ['柳柳宗元', 88], ['上官婉⼉儿 五 代⼗十国:朱温', 55], ['刘仁恭', 6], ['丁会', 26], ['李李克⽤用', 39], ['李李存勖', 11], ['葛从周', 25], ['王建', 13], ['刘知远', 95], ['⽯石敬瑭', 63], ['郭威', 28], ['柴 荣', 50], ['孟昶', 17], ['荆浩', 84], ['刘彟', 18], ['张及之', 45], ['杜宇', 73], ['⾼高季兴', 39], ['喻皓', 50], ['历真', 70], ['李李茂贞', 6], ['朱友珪', 7], ['朱友贞', 11], ['刘守光', 2]]

需求:

现要求按考试成绩高低分成5组,全存在⼀个新的列表里, 5组分别是90-100, 80-89, 70-79, 60-69, 0-59

最终的数据格式如下:

new_stu_list = [
[
["A",100],
["B",91],
],
[
["x",79],

], .... ....

]

  • 写回答

3条回答 默认 最新

  • Java大魔王 2022-11-01 09:29
    关注
    if __name__ == '__main__':
        stu_list = [['李李渊', 82], ['李李世⺠民', 7], ['侯君集', 5], ['李李靖', 58], ['魏征', 41], ['房⽞玄龄', 64], ['杜如晦', 65],
                    ['柴绍', 94], ['程知节', 45], ['尉迟恭', 94], ['秦琼', 54], ['⻓长孙⽆无忌', 85], ['李李存恭', 98], ['封德彝', 16],
                    ['段志⽞玄', 44], ['刘 弘基', 18], ['徐世绩', 86], ['李李治', 19], ['武则天', 39], ['太平公主', 57], ['⻙韦后', 76],
                    ['李李隆隆基', 95], ['杨⽟玉环', 33], ['王勃', 49], ['陈⼦子昂', 91], ['卢照邻', 70], ['杨炯', 81], ['王之涣', 82],
                    ['安禄⼭山', 18], ['史思明', 9], ['张巡', 15], ['雷雷万 春', 72], ['李李⽩白', 61], ['⾼高⼒力力⼠士', 58], ['杜甫', 27],
                    ['⽩白居易易', 5], ['王维', 14], ['孟浩然', 32], ['杜牧', 95], ['李李商隐', 34], ['郭⼦子仪', 53], ['张易易之', 39],
                    ['张昌 宗', 61], ['来俊⾂臣', 8], ['杨国忠', 84], ['李李林林甫', 95], ['⾼高适', 100], ['王昌龄', 40], ['孙思邈', 46],
                    ['⽞玄奘', 84], ['鉴真', 90], ['⾼高骈', 85], ['狄仁杰', 62], ['⻩黄 巢', 79], ['王仙芝', 16], ['⽂文成公主', 13],
                    ['松赞⼲干布', 47], ['薛涛', 79], ['⻥鱼⽞玄 机', 16], ['贺知章', 20], ['李李泌泌', 17], ['韩愈', 100], ['柳柳宗元', 88],
                    ['上官婉⼉儿 五 代⼗十国:朱温', 55], ['刘仁恭', 6], ['丁会', 26], ['李李克⽤用', 39], ['李李存勖', 11], ['葛从周', 25],
                    ['王建', 13], ['刘知远', 95], ['⽯石敬瑭', 63], ['郭威', 28], ['柴 荣', 50], ['孟昶', 17], ['荆浩', 84],
                    ['刘彟', 18], ['张及之', 45], ['杜宇', 73], ['⾼高季兴', 39], ['喻皓', 50], ['历真', 70], ['李李茂贞', 6],
                    ['朱友珪', 7], ['朱友贞', 11], ['刘守光', 2]]
        # 需要根据成绩排序,加上这句
        stu_list.sort(key=lambda x: x[1], reverse=True)
        new_stu_list = [[], [], [], [], []]
        for item in stu_list:
            if item[1] >= 90:
                new_stu_list[0].append(item)
            elif item[1] >= 80:
                new_stu_list[1].append(item)
            elif item[1] >= 70:
                new_stu_list[2].append(item)
            elif item[1] >= 60:
                new_stu_list[3].append(item)
            else:
                new_stu_list[4].append(item)
        print(new_stu_list)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月2日
  • 已采纳回答 11月2日
  • 创建了问题 11月1日

悬赏问题

  • ¥15 DSP28335AD采集实验
  • ¥15 在winods上用C# 怎么编写CAN通信在linux运行
  • ¥15 关于螺旋焊缝的图像处理
  • ¥15 qt 散点图自定义图形
  • ¥100 将USDZ文件转化为带颜色的OBJ文件
  • ¥15 对象代号: , 表单: 不存在!
  • ¥15 WebSocket的问题
  • ¥15 centos上启动kylin后网页报错404
  • ¥20 使用hackrf进行信号收发时接收到的信号幅度太小
  • ¥15 WebSocket的问题