운동선수에 대한 정보가 포함된 2차원 목록이 있다고 가정합니다. 이 정보는 계급, 나이, 키입니다. 각 행에는 다른 선수에 대한 정보가 포함되어 있습니다. 또 다른 숫자 k가 있습니다. k번째 속성을 기준으로 데이터를 정렬해야 합니다.
따라서 입력이 다음과 같으면
순위 | 나이 | 높이 |
---|---|---|
1 | 25 | 190 |
2 | 35 | 180 |
3 | 33 | 185 |
4 | 26 | 175 |
5 | 35 | 180 |
그리고 k =1.
그러면 출력은
순위 | 나이 | 높이 |
---|---|---|
1 | 25 | 190 |
4 | 26 | 175 |
3 | 33 | 185 |
2 | 35 | 180 |
5 | 35 | 180 |
[[1, 25, 190], [4, 26, 175], [3, 33, 185], [2, 35, 180], [5, 35, 180]]
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
info
라는 2차원 배열에 대해 sort() 함수를 호출합니다. -
k번째 인수를 기준으로 정렬하는 하나의 함수를 정의하고 이를 sort() 함수의 키 매개변수에 전달합니다.
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다.
def solve(info, k): info.sort(key = lambda x: x[k]) return info info = [[1, 25, 190],[2, 35, 180],[3, 33, 185],[4, 26, 175],[5, 35, 180]] k = 1 print(solve(info, k))
입력
[[1, 25, 190],[2, 35, 180],[3, 33, 185],[4, 26, 175],[5, 35, 180]], 1
출력
[[1, 25, 190], [4, 26, 175], [3, 33, 185], [2, 35, 180], [5, 35, 180]]