티스토리 뷰
람다 함수로, 파이썬 내장 함수 sort()
에 정렬 key값을 줄 경우
lambda x: x[0]
은, x[0]이 작은 숫자부터 정렬된다. 즉reverse=False
와 같다. => 오름차순lambda x: -x[0]
은, x[0]이 큰 숫자부터 정렬된다. 즉reverse=True
와 같다. => 내림차순
a = [[1], [5], [3], [10], [100]]
a.sort(key=lambda x:x[0])
print(a)
# [[1], [3], [5], [10], [100]]
a = [[1], [5], [3], [10], [100]]
a.sort(reverse=False)
print(a)
# [[1], [3], [5], [10], [100]]
b = [[1], [5], [3], [10], [100]]
b.sort(key=lambda x:-x[0])
print(b)
# [[100], [10], [5], [3], [1]]
b = [[1], [5], [3], [10], [100]]
b.sort(reverse=True)
print(b)
# [[100], [10], [5], [3], [1]]
이걸 이용해서 정렬 시 key값을 여러개 써서 각각 오름 차순, 내림 차순을 정의할 수 있다.
l.sort(key=lambda x:(-x[1], x[0]))
# # [(5, 4), (6, 4), (7, 4), (4, 3), (8, 3), (3, 2), (9, 2), (2, 1), (10, 1)]
# x[1]을 기준으로 내림차순 정렬 한 후, x[1]이 같을 경우에는 x[0]을 기준으로 오름차순 정렬한다.
'Python 사용법들' 카테고리의 다른 글
파이썬에서 반올림, 내장함수 round() (0) | 2020.09.12 |
---|---|
파이썬 sort와 sorted 차이점 (0) | 2020.09.12 |
파이썬의 깊은 복사와 얕은 복사 (0) | 2020.09.12 |
파이썬 라이브러리를 이용한 순열과 조합 (0) | 2020.09.11 |
댓글