티스토리 뷰

람다 함수로, 파이썬 내장 함수 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]을 기준으로 오름차순 정렬한다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함