Python

Python - 정렬 커스터마이징

김지훈_ 2021. 10. 11. 10:38

파이썬은 자체적으로 정렬 함수를 제공하는데, 보통 sorted() 와 .sort()를 많이 사용한다.

temp = [3, 5, 6, 1, 0]

print(sorted(temp))

temp.sort()
print(temp)

위처럼 그냥 사용하면 두가지 모두 같은 결과를 내놓는다.

 

 

여기서 sorted()함수를 사용하면 원하는 기준을 세워 정렬할 수 있다.

 

 

글을 직접 쓰기 귀찮아서 파이썬 공식 홈페이지에서 복사해왔다.

 

결론적으로 보면, sorted 함수 내의 key에 해당하는 값에 원하는 함수를 넣어 그 방식대로 정렬을 명령할 수 있다.

 

내가 직접 사용한 예시는 다음과 같다.

 

https://programmers.co.kr/learn/courses/30/lessons/12915

 

코딩테스트 연습 - 문자열 내 마음대로 정렬하기

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱

programmers.co.kr

def solution(strings, n):
    answer = sorted(strings, key=lambda x : (x[n], x))
    return answer

 

간단하게 해결할 수 있다.

 

References

https://docs.python.org/ko/3/howto/sorting.html