오늘의 인기 글
최근 글
최근 댓글
Today
Total
05-19 08:40
관리 메뉴

우노

[Python] Lambda 를 사용한 다중 조건 정렬 본문

Language/Python

[Python] Lambda 를 사용한 다중 조건 정렬

운호(Noah) 2022. 6. 7. 11:30

들어가기 앞서,

  • 일반적으로 Python 정렬은, sorted() 또는 .sort() 를 사용합니다.
  • 해당 포스트에선, Lambda 를 사용해 여러 조건으로 정렬하는 방법에 대해서 다뤄보겠습니다.

예제 코드

a = [(1, 3), (0, 3), (1, 4), (1, 5), (0, 1), (2, 4)]

# 리스트 각 요소의 첫 번째 인자를 기준으로 오름차순 정렬하고, 그 안에선 두 번째 인자를 기준으로 오름차순 정렬합니다.
# [(0, 1), (0, 3), (1, 3), (1, 4), (1, 5), (2, 4)]
b = sorted(a)

# 리스트 각 요소의 첫 번째 인자를 기준으로 내림차순 정렬하고, 그 안에선 두 번째 인자를 기준으로 내림차순 정렬합니다.
# [(2, 4), (1, 5), (1, 4), (1, 3), (0, 3), (0, 1)]
c = sorted(a, reverse=True)

# 리스트 각 요소의 첫 번째 인자를 기준으로 오름차순 정렬하고, 그 안에선 등장 순서대로 정렬합니다.
# [(0, 3), (0, 1), (1, 3), (1, 4), (1, 5), (2, 4)]
d = sorted(a, key = lambda x : x[0])

# 리스트 각 요소의 두 번째 인자를 기준으로 오름차순 정렬하고, 그 안에선 등장 순서대로 정렬합니다.
# [(0, 1), (1, 3), (0, 3), (1, 4), (2, 4), (1, 5)]
e = sorted(a, key = lambda x : x[1])

# 리스트 각 요소의 첫 번째 인자를 기준으로 오름차순 정렬하고, 그 안에선 두 번째 인자를 기준으로 내림차순 정렬합니다.
# [(0, 3), (0, 1), (1, 5), (1, 4), (1, 3), (2, 4)]
f = sorted(a, key = lambda x : (x[0], -x[1]))

참고

Comments