N명의 학생 정보가 있다. 학생 정보는 학생의 이름과 학생의 성적으로 구분된다. 각 학생의 이름과 성적 정보가 주어졌을 때 성적이 낮은 순서대로 학생의 이름을 출력하는 프로그램을 작성하시오.
입력 예시
2
홍길동 95
이순신 77
출력 예시
이순신 홍길동
n = int(input())
array=[]
for i in range(n):
input_data = input().split()
array.append((input_data[0], int(input_data[1])))
array = sorted(array, key = lambda student: student[1])
# print(student)
for student in array:
print(student[0], end= ' ')
array = sorted(array, key = lambda student: student[1]) 람다식이 이해가 안됩니다
student라는 배열에 array를 넣으면 input_data[1]이 student[1]이 되니까 이것을 키로 오름차순으로 정렬해라 라는 뜻인가요?
그리고 다음 줄 주석에 print(student)를 하면 student" is not defined라고 되있던데
정의되지않았는데 어떻게 array는 student[1]로 정렬되는지 궁금합니다.
(제 생각으로는 print(student)를 하면 print(array)와 같은 결과값이 나와야 되는데 ... 어디서부터 잘못 생각한건지 모르겠습니다...)
답변해주시면 정말 감사하겠습니다.