[ 언어 및 문법 ]/Python
[Python] 커스텀 정렬 (cmp_to_key)
황찌옹
2022. 8. 10. 21:04
sort()나 lambda 함수를 통한 정렬을 넘어서
좀 더 정교한 정렬이 필요할 때
커스텀으로 정렬 함수를 만들어서 이용할 수 있다.
from functools import cmp_to_key
data = ["Foo1Bar", "Foo12Bar", "Foo00012Bar", ..., "foo4bar"]
def comp(x, y):
# 두 대상 비교 후 [음수, 0, 양수] 중 하나 return
# ex)
if x[0]<y[0]: # or x[0]>y[0]
return 1
elif x[0] == y[0]:
return 0
else:
return -1
result = sorted(data, key = cmp_to_key(comp)) # 커스텀 정렬 수행 및 결과 return
좀 더 공부하기!!
cf. [백준] 20210. 파일 탐색기
20210번: 파일 탐색기
첫 줄에 문자열의 개수 N(2 ≤ N ≤ 10,000)이 주어진다. 그 다음 N줄에 정렬할 문자열이 한 줄에 하나씩 주어진다. 모든 문자열의 길이는 100 이하이며, 알파벳 대소문자와 숫자로만 이루어져 있다.
www.acmicpc.net
cf. 참고
https://castlerain.tistory.com/72