본문 바로가기
함수 설명/기본 및 범용

[Python] 정리 좀 할게! sorted()

by First Adventure 2024. 7. 11.
반응형

소개

  sorted 함수는 주어진 반복 가능한 객체를 정렬된 리스트로 반환하는 파이썬 내장 함수입니다. 이 함수는 원본 객체를 변경하지 않으며, 새로운 정렬된 리스트를 생성합니다. 다양한 데이터 타입과 복잡한 정렬 기준을 지원합니다.

 

기본 사용법

상세 설명

  • sorted 함수의 기본 구문은 sorted(iterable, *, key=None, reverse=False)입니다.
    • iterable: 정렬할 반복 가능한 객체입니다.
    • key: 정렬 기준을 지정하는 함수입니다. (옵션)
    • reverse: True로 설정하면 내림차순으로 정렬합니다. 기본값은 False입니다.
  • sorted 함수는 새로운 정렬된 리스트를 반환합니다. 원본 객체는 변경되지 않습니다.
  • key 인수를 통해 정렬 기준을 사용자 정의할 수 있습니다. 예를 들어, 문자열의 길이로 정렬하거나, 특정 속성을 기준으로 객체를 정렬할 수 있습니다.

예시 설명

  • sorted(numbers)는 리스트 [3, 1, 4, 1, 5, 9]를 오름차순으로 정렬하여 [1, 1, 3, 4, 5, 9]를 반환합니다.
  • sorted(text)는 문자열 "hello"를 문자 단위로 오름차순 정렬하여 ['e', 'h', 'l', 'l', 'o']를 반환합니다.
  • sorted(items)는 튜플 (4, 1, 3, 2)를 오름차순으로 정렬하여 [1, 2, 3, 4]를 반환합니다.
  • sorted(dictionary)는 딕셔너리의 키를 오름차순으로 정렬하여 ['apple', 'banana', 'orange', 'pear']를 반환합니다.
  • sorted(numbers, reverse=True)는 리스트 [3, 1, 4, 1, 5, 9]를 내림차순으로 정렬하여 [9, 5, 4, 3, 1, 1]를 반환합니다.
  • sorted(words, key=len)는 리스트 ["banana", "apple", "cherry"]를 문자열의 길이로 정렬하여 ['apple', 'banana', 'cherry']를 반환합니다.
# 리스트 정렬
numbers = [3, 1, 4, 1, 5, 9]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
# 출력: [1, 1, 3, 4, 5, 9]

# 문자열 정렬
text = "hello"
sorted_text = sorted(text)
print(sorted_text)
# 출력: ['e', 'h', 'l', 'l', 'o']

# 튜플 정렬
items = (4, 1, 3, 2)
sorted_items = sorted(items)
print(sorted_items)
# 출력: [1, 2, 3, 4]

# 딕셔너리 키 정렬
dictionary = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
sorted_keys = sorted(dictionary)
print(sorted_keys)
# 출력: ['apple', 'banana', 'orange', 'pear']

# 내림차순 정렬
numbers = [3, 1, 4, 1, 5, 9]
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc)
# 출력: [9, 5, 4, 3, 1, 1]

# 키 함수
words = ["banana", "apple", "cherry"]
sorted_words = sorted(words, key=len)
print(sorted_words)
# 출력: ['apple', 'banana', 'cherry']

 

라이센스

  Python의 표준 라이브러리와 내장 함수들은 Python Software Foundation License (PSFL) 하에 배포됩니다. 자세한 라이센스 내용은 Python 공식 라이센스 페이지에서 확인할 수 있습니다.

 

마무리

  os.listdir()를 통해 디렉토리 내의 파일목록을 보면 기대와는 달리 제대로 정렬되지 않을 때가 있습니다. 그럴 때 sorted()를 사용하면 정렬된 결과를 얻을 수 있습니다.

 

관련 내용

  [Python] 얼마나 남았어? tqdm()으로 진행률 파악하기

  [Python] 길이를 재보자 len()

  [Python] 거꾸로 센다! reversed()

  [Python] 정리 좀 할게! sorted()

  [Python] XX번 고객님~ 반복문에서 enumerate()로 인덱스와 함께 값 받기

  [Python] 차례대로 세기! range()

반응형