우노
[Python] Lambda 를 사용한 다중 조건 정렬 본문
들어가기 앞서,
- 일반적으로 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]))
참고
'Language > Python' 카테고리의 다른 글
[Python] 파이썬 빠르게 입력 받기 (sys.stdin.readline) (0) | 2022.06.12 |
---|---|
[Python] Dictionary Key, Value 정렬 (0) | 2022.06.07 |
[Python] 문자열을 문자로 분리하여 리스트로 저장 (0) | 2022.06.05 |
[Python] 반복 함수와 재귀 함수 비교 (0) | 2022.06.04 |
[Python] Stack 과 Queue 사용 방법 (0) | 2022.06.04 |
Comments