반응형
sort vs sorted
sort()는 one dimensional list에서 많이 쓰이고,
sorted()는 여러 차원이나 조건들을 설정할 때 많이 쓰인다.
sort()
오름차순
a = [1,4,2,5,3]
print(a.sort())
[1,2,3,4,5]
내림차순
a = [1,4,2,5,3]
print(a.sort(reverse=True))
[5,4,3,2,1]
sorted()
>>> students = [
('홍길동', 3.9, 2016303),
('김철수', 3.0, 2016302),
('최자영', 4.3, 2016301),
]
오름차순(세 번째 값을 기준으로)
>>> sorted(students, key=lambda student: student[2])
[('최자영', 4.3, 2016301), ('김철수', 3.0, 2016302), ('홍길동', 3.9, 2016303)]
내림차순
>>> sorted(students, key=lambda student: -student[2])
[('홍길동', 3.9, 2016303), ('김철수', 3.0, 2016302), ('최자영', 4.3, 2016301)]
만약 세 번째 값은 오름차순, 두 번째 값은 내림차순으로 정렬하고 싶다면?
>>> sorted(students, key=lambda student: (student[2],-student[1]))
[('최자영', 4.3, 2016301), ('김철수', 3.0, 2016302), ('홍길동', 3.9, 2016303)]
반응형
'Programming > Coding Test' 카테고리의 다른 글
백준 4153 - 피타고라스를 이용한 단순 수학 문제 (0) | 2021.01.11 |
---|---|
백준 13305 - 파이썬으로 그리디 알고리즘 (0) | 2021.01.11 |
백준 1011 - 규칙으로 풀기 (0) | 2021.01.10 |
백준 단계별 문제 풀기 시작합니다 ! (0) | 2021.01.10 |
백준 10757 - 파이썬에서 다룰 수 있는 제일 큰 수는 몇일까? (0) | 2021.01.10 |