当前位置: 移动技术网 > IT编程>脚本编程>Python > 成绩排名

成绩排名

2020年07月30日  | 移动技术网IT编程  | 我要评论
描述已有a、b两个链表,每个链表中的结点包括学好、成绩。要求把两个链表合并,按学号升序排列。输入第一行,a、b两个链表元素的数量N、M,用空格隔开。 接下来N行是a的数据 然后M行是b的数据 每行数据由学号和成绩两部分组成输出按照学号升序排列的数据输入样例 12 35 1006 893 824 952 10输出样例 12 103 824 955 1006 89Pythonimport operatorclass Student: def __init

描述

已有a、b两个链表,每个链表中的结点包括学好、成绩。要求把两个链表合并,按学号升序排列。

输入

第一行,a、b两个链表元素的数量N、M,用空格隔开。 接下来N行是a的数据 然后M行是b的数据 每行数据由学号和成绩两部分组成

输出

按照学号升序排列的数据

输入样例 1

2 3
5 100
6 89
3 82
4 95
2 10

输出样例 1

2 10
3 82
4 95
5 100
6 89

Python

import operator


class Student:
    def __init__(self, pid, score):
        self.pid = pid
        self.score = score


Nodes = []
a, b = map(int, input().split())
for i in range(a + b):
    pid, score = map(int, input().split())
    student = Student(pid, score)
    Nodes.append(student)

cmp = operator.attrgetter('pid', 'score')
Nodes.sort(key=cmp)
for student in Nodes:
    print(student.pid, student.score)

本文地址:https://blog.csdn.net/qq_45202835/article/details/107654104

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网