:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
16/10/11 20:28
제어문을 쓸 게 아니라...
이름 오름차순 정렬 - 수학점수 내림차순 정렬 - 영어 점수 오른차순 정렬 - 국어 내림차순 정렬 (버블소트에 =은 다 빼고) 돌리면 되지 않을까요? (그런데 라이브러리 쓰면 안되나요?... 복수 기준 정렬 하는 라이브러리가 있었던 것 같은데...)
16/10/11 20:30
16/10/11 20:45
lambda 를 이용하여 multiple key 로 sorted 가 가능 합니다.
tuple 을 이용해서 순서를 구성해주면 끝입니다. 오름차순 내림차순은 +/- 를 붙이면 됩니다. lambda x:(-x[1],-x[2],-x[3],x[0]) >> data = [['kim',90,90,80],['lee',90,80,70],['amy',90,90,80],['terry',90,90,70],['kei',80,100,70]] 라고 하면, >> sorted(data, key = lambda x:(-x[1],-x[2],-x[3],x[0])) 를 실행하면, [['amy', 90, 90, 80], ['kim', 90, 90, 80], ['terry', 90, 90, 70], ['lee', 90, 80, 70], ['kei', 80, 100, 70]]와 같은 결과를 얻습니다. 국어, 영어, 수학을 내림차순으로 하기 때문에, (-) 를 추가하고, 이름은 오름차순이기 때문에, 그대로 두면 됩니다.
|