<aside>
💬 lv0
, 정렬
이름, 국영수 점수가 {'이름': '홍길동', '국': 70, '영': 30, '수':20}와 같이 딕셔너리 형태로 주어졌을 때 반 점수는 [{'이름': 'A'...}, {'이름': 'B'...}, {'이름': 'C'...}]와 같은 형태로 주어집니다. 이 때 반에서 수학점수가 가장 높은 학생의 이름을 출력하는 solution함수를 완성해주세요.
입력 | 출력 |
---|---|
[{'이름': 'A', '국': 30, '영': 20, '수': 85}, {'이름': 'B', '국': 95, '영': 98, '수': 10}] | 'A' |
[{'이름': 'A', '국': 21, '영': 33, '수': 54}, {'이름': 'B', '국': 32, '영': 43, '수': 11}] | 'A' |
[{'이름': 'A', '국': 30, '영': 20, '수': 85}, {'이름': 'B', '국': 95, '영': 98, '수': 10}]이 입력되었을 때 수학 점수는 각각 'A'가 85점, 'B'가 10점이 됩니다. 따라서 가장 높은 점수는 A가 됩니다.
</aside>
def solution(data):
sorted_data = sorted(data, key=lambda x: x['수'], reverse=True) **#1 sorted함수**
return sorted_data[0]['이름'] **#2 첫번째 요소 반환**
sorted()
함수
입력으로 주어진 data
리스트를 '수' 키 값을 기준으로 내림차순으로 정렬합니다. 즉, 가장 높은 수학 점수를 가진 딕셔너리가 리스트의 맨 앞에 위치하게 됩니다.
첫번째 요소 반환
그 요소의 '이름' 값을 반환합니다. 이는 가장 높은 수학 점수를 가진 주식의 이름을 의미합니다.
첫 번째 요소 반환
기본 형태: data[0]
개념: 첫 번째 요소 반환은 리스트나 다른 반복 가능한(iterable) 객체에서 첫 번째 항목을 선택하는 것을 의미합니다. 인덱스를 사용하여 첫 번째 요소에 접근할 수 있습니다. 대부분의 프로그래밍 언어에서는 인덱스를 0부터 시작하므로, 첫 번째 요소의 인덱스는 보통 0입니다.
data = [10, 20, 30, 40, 50]
first_element = data[0]
print(first_element) # 출력: 10
def solution(data):
return max(data, key=lambda x: x['수'])['이름'] **#1 max함수 #2 key 매개변수**
max()
함수
입력된 리스트 data
에서 '수' 키 값을 기준으로 최대값을 가지는 딕셔너리를 찾습니다.
key
매개변수
딕셔너리의 '수' 키를 기준으로 최대값을 찾습니다. 최대값을 가지는 딕셔너리의 '이름' 값을 반환합니다. 즉, 이 함수는 입력 데이터에서 가장 높은 수학 점수를 가진 주식의 이름을 반환합니다.
max 함수
기본 형태: max(iterable, *[, default=obj, key=func])
개념: 주어진 이터러블(시퀀스)에서 가장 큰 값을 반환합니다. 이 함수는 선택적으로 기본값(default)과 비교를 위한 키 함수(key)를 받을 수 있습니다.
# 리스트 생성
numbers = [1, 2, 3, 4, 5]
# max 함수를 사용하여 최댓값 찾기
max_value = max(numbers)
print(max_value) # 출력: 5