안녕하세요, 이번 포스팅은 파이썬 정렬 sorted 함수 사용법 예제코드 대해서 작성하도록 하겠습니다.
파이썬에서 데이터를 정렬하는 방법 중 하나인 sorted 함수의 사용법과 활용 예제에 대해서 알아보겠습니다. 😃
목차
파이썬 정렬 sorted 함수
파이썬의 sorted() 함수는 어떤 반복 가능한(iterable) 객체도 받아서 정렬된 리스트를 반환해줍니다.
기본적인 사용법은 다음과 같습니다:
정렬된_리스트 = sorted(원본_리스트)
예를 들어, 아래와 같이 숫자 리스트를 정렬할 수 있습니다:
숫자_리스트 = [3, 1, 4, 1, 5, 9, 2, 6]
정렬된_리스트 = sorted(숫자_리스트)
print(정렬된_리스트) # 출력: [1, 1, 2, 3, 4, 5, 6, 9]
위의 코드를 구현을 해보면 오름차순으로 숫자들이 정렬이 되어 출력이 되는 걸 확인하실 수 있습니다.

문자열도 sorted 함수를 사용하여 정렬할 수 있습니다.
문자열을 정렬하면 각 문자의 유니코드 포인트에 따라 정렬됩니다.
예를 들면 아래와 같이 코드를 구현 할 수 있습니다.
문자열 = "python"
정렬된_문자들 = sorted(문자열)
print(정렬된_문자들) # 출력: ['h', 'n', 'o', 'p', 't', 'y']
위의 코드를 구현을 해보면 알파벳 오름차순으로 문자들이 정렬이 되어 출력이 되는 걸 확인하실 수 있습니다.

sorted 함수의 key 파라미터
sorted 함수는 key라는 파라미터도 제공합니다.
이를 통해 정렬의 기준을 사용자 정의 함수로 지정할 수 있습니다. 🚀
정렬된_리스트 = sorted(원본_리스트, key=정렬_기준_함수)
예를 들어, 문자열의 길이를 기준으로 리스트를 정렬하고 싶다면 다음과 같이 할 수 있습니다:
단어_리스트 = ["apple", "banana", "cherry", "date"]
정렬된_리스트 = sorted(단어_리스트, key=len)
print(정렬된_리스트) # 출력: ['date', 'apple', 'cherry', 'banana']
여기서 len 함수는 각 문자열의 길이를 반환하여 sorted 함수가 정렬의 기준으로 사용하게 됩니다.
sorted 함수 추가 활용방법
1) 내림차순 정렬하기
sorted() 함수의 reverse 파라미터를 사용하여 리스트를 내림차순으로 정렬할 수 있습니다.
reverse 파라미터의 기본값은 False입니다. 이 값을 True로 설정하면 내림차순으로 정렬됩니다.
예시를 살펴보겠습니다:
숫자_리스트 = [3, 1, 4, 1, 5, 9, 2, 6]
정렬된_리스트 = sorted(숫자_리스트, reverse=True)
print(정렬된_리스트) # 출력: [9, 6, 5, 4, 3, 2, 1, 1]
문자열도 내림차순으로 정렬할 수 있습니다.
이때도 reverse 파라미터를 사용합니다:
문자열 = "python"
정렬된_문자들 = sorted(문자열, reverse=True)
print(정렬된_문자들) # 출력: ['y', 't', 'p', 'o', 'n', 'h']
2) 복잡한 객체 정렬하기
리스트에 있는 객체가 복잡한 경우, 예를 들어 딕셔너리나 사용자 정의 클래스 객체라면, key 파라미터를 사용하여 정렬 기준을 지정해야 합니다. 😮
딕셔너리를 정렬할 때는 딕셔너리의 특정 키 값을 기준으로 정렬할 수 있습니다:
사람_리스트 = [{'이름': '김철수', '나이': 28}, {'이름': '박영희', '나이': 22}, {'이름': '이민호', '나이': 31}]
정렬된_리스트 = sorted(사람_리스트, key=lambda x: x['나이'])
print(정렬된_리스트)
# 출력: [{'이름': '박영희', '나이': 22}, {'이름': '김철수', '나이': 28}, {'이름': '이민호', '나이': 31}]
여기서 lambda 함수는 각 딕셔너리의 ‘나이’ 키의 값을 반환하여 정렬의 기준으로 사용하게 됩니다.
sorted() 함수와 더불어 정렬된 내용을 엑셀과 같은 파일에 쓰고, 입력한 내용을 읽는 기능까지 활용하면 파이썬 코드 짜는데 많은 도움이 되실 겁니다.
sorted() vs sort() 비교 분석
파이썬에서는 리스트 객체에 내장된 sort() 메서드도 제공합니다.
이 메서드는 리스트를 직접 수정하여 정렬하지만, sorted() 함수는 원본 리스트를 그대로 두고 새로운 리스트를 반환합니다. 📝
좀 더 자세히 설명 드리면 sorted() 함수는 안정적인 정렬(stable sort)을 할 수 있게 하는 함수입니다.
이는 입력에 동일한 순서를 갖는 두 항목이 있을 때, 정렬 후에도 그 순서가 유지된다는 것을 의미합니다.
이러한 특성은 복잡한 정렬 조건에서 매우 유용하게 작용할 수 있습니다. 😊
안정적인 정렬의 특성을 활용하여 여러 조건으로 정렬을 중첩할 수 있습니다.
예를 들어, 나이가 동일한 사람들을 이름 순으로 정렬하고 싶다면 다음과 같이 할 수 있습니다:
사람_리스트 = [{'이름': '김철수', '나이': 28}, {'이름': '박영희', '나이': 28}, {'이름': '이민호', '나이': 31}]
정렬된_리스트 = sorted(사람_리스트, key=lambda x: x['이름'])
정렬된_리스트 = sorted(정렬된_리스트, key=lambda x: x['나이'])
print(정렬된_리스트)
# 출력: [{'이름': '김철수', '나이': 28}, {'이름': '박영희', '나이': 28}, {'이름': '이민호', '나이': 31}]
따라서 원본 데이터를 유지하면서 정렬된 결과를 얻고 싶다면 sorted() 함수를, 원본 리스트 자체를 정렬하고 싶다면 sort() 메서드를 사용하면 됩니다.
결론
지금까지 파이썬 정렬 sorted 함수 사용법 활용 예제 대해서 포스팅을 작성하였습니다.
기본적인 사용법부터 고급 기법, 그리고 실용적인 활용 팁까지 우리는 이 포스팅을 통해 다양한 내용을 살펴보았습니다. 😊
파이썬에서의 데이터 처리나 알고리즘 구현 시, 정렬은 중요한 부분을 차지합니다.
따라서 sorted() 함수의 다양한 활용 방법을 숙지하고, 실제 문제 해결에 잘 적용하는 것이 중요합니다.
이 포스팅이 여러분의 파이썬 코딩에 도움이 되기를 바랍니다!
파이썬 정렬 sorted 함수 사용법 활용 예제를 통해 여러분의 프로그래밍 능력도 함께 성장하길 기대하겠습니다. 감사합니다. 🚀









