반응형
파이썬에서 리스트를 오름차순으로 정렬하는 방법은 다양합니다.
파이썬 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 을 사용하면 기존 리스트의 요소를 변형하여 새로운 기준으로 정렬할 수 있습니다.
반응형
'파이썬' 카테고리의 다른 글
SyntaxError: unexpected EOF while parsing (1) | 2023.12.04 |
---|---|
파이썬 리스트 요소 끼리 연산하는 방법 (zip, numpy) (0) | 2023.12.02 |
파이썬에서 특정 인덱스 제거하는 방법 두가지 (1) | 2023.12.01 |
파이썬 리스트 count 방법과 참고사항 (0) | 2023.11.30 |
파이썬 리스트와 딕셔너리 변환 방법 (0) | 2023.11.30 |
댓글