inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 코테<성적이 낮은 순서로 학생 출력하기>문제

341

코딩먹는하마
0

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)와 같은 결과값이 나와야 되는데 ... 어디서부터 잘못 생각한건지 모르겠습니다...)

답변해주시면 정말 감사하겠습니다.

 

답변 0