关于#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],

], .... ....

]

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)

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]]
new_stu_list = []
lista = listb = listc = listd = liste = []
for i in stu_list:
    if i[1] <= 59:
        liste.append(i)
    elif i[1] <= 69:
        listd.append(i)
    elif i[1] <= 79:
        listc.append(i)
    elif i[1] <= 89:
        listb.append(i)
    elif i[1] <= 100:
        lista.append(i)


def takeSecond(ele):
    return ele[1]


lista.sort(key=takeSecond, reverse=True)
listb.sort(key=takeSecond, reverse=True)
listc.sort(key=takeSecond, reverse=True)
listd.sort(key=takeSecond, reverse=True)
liste.sort(key=takeSecond, reverse=True)

new_stu_list.append(lista)
new_stu_list.append(listb)
new_stu_list.append(listc)
new_stu_list.append(listd)
new_stu_list.append(liste)

print(new_stu_list)


stu_list = [["lisi", 89], ["djj",67]]
score = {"90-100":[],"80-89":[], "other":[]}
for i in stu_list:
    print(type(i[1]))
    if 100>= i[1] >=90:
        score["90-100"].append(i)
    elif 89>= i[1] >=80:
        score["80-89"].append(i)
    else:
        score["other"].append(i)

print(score)        

参考这样手机不方便写代码自己领悟