본문 바로가기
파이썬

파이썬 리스트 오름차순 정렬하는 방법 4가지

by RWriter 2023. 12. 2.
반응형

파이썬에서 리스트를 오름차순으로 정렬하는 방법은 다양합니다.

 

파이썬 3.x 버전을 기준으로 설명합니다~

1. sort() 메소드 사용하기

  • 리스트 자체를 정렬합니다.
  • 반환값은 **None**입니다.
  • 원본 리스트가 변경되기 때문에 의도치 않은 사이드 이펙트가 발생할 수 있으니 사용에 주의해야 합니다.
numbers = [3, 1, 4, 1, 5, 9, 2]
numbers.sort()
print(numbers)  # 출력: [1, 1, 2, 3, 4, 5, 9]

2. sorted() 함수 사용하기

  • 새로운 리스트를 반환합니다.
  • 원본 리스트는 변경되지 않습니다.
  • 객체의 불변성을 유지하고 싶을때 사용하는 것을 권장합니다.
numbers = [3, 1, 4, 1, 5, 9, 2]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # 출력: [1, 1, 2, 3, 4, 5, 9]

3. 람다 함수와 sort() 또는 sorted() 사용하기

  • 복잡한 데이터 구조에서 특정 키 또는 속성에 따라 정렬할 때 사용합니다.
# 예시: 각 요소가 (값, 우선순위) 형태인 리스트
data = [(3, 2), (1, 3), (4, 1)]
data.sort(key=lambda x: x[0])  # 첫 번째 요소 기준 정렬
print(data)  # 출력: [(1, 3), (3, 2), (4, 1)]

4. List Comprehension 과 sorted() 사용하기

  • 리스트 내포를 통해 새로운 정렬 기준을 만들고, sorted() 함수로 정렬합니다.
# 예시: 각 요소의 제곱을 한 후 제곱값에 따라 정렬
numbers = [3, 1, 4, 1, 5, 9, 2]
sorted_numbers = sorted([x**2 for x in numbers])
print(sorted_numbers)  # 출력: [1, 1, 4, 9, 16, 25, 81]

주의사항 및 추가 정보

  • sort() 메소드는 리스트 타입에만 사용할 수 있습니다.
  • sorted() 함수는 리스트뿐만 아니라 어떤 반복 가능한(iterable) 객체에도 사용할 수 있습니다.
  • 복잡한 데이터 구조를 정렬할 때는 람다 함수를 사용하여 정렬 기준을 직접 정의할 수 있습니다.
  • List Comprehension 을 사용하면 기존 리스트의 요소를 변형하여 새로운 기준으로 정렬할 수 있습니다.
반응형

댓글