이번 시간엔 파이썬의 정렬 함수에 대해서 더욱 깊게 알아보는 시간을 가져보겠습니다!
sort 함수
원형을 변형시켜 정렬합니다.
변수.sort()
형태로 사용하고,
리스트에서만 사용 가능합니다!
정렬 기준
문자열은 알파벳,가나다 순
숫자는 오름차순이 default값입니다.
sorted 함수
이것 역시 sort와 같은 정렬을 하지만 큰 차이점은
sort는 원형이 정렬되어 변형되지만
sorted는 원형을 변형시키지 않고 정렬된 결과를 반환시켜 준다는 특징이 있습니다.
sorted는 리스트 및 다른 자료형에도 사용 가능합니다!
정렬 기준은 sort와 동일합니다.
Parameter
sort, sorted 모두 reverse, key 매개변수를 갖고있습니다.
- reverse
기본 값은 reverse = False(오름차순)입니다.
reverse = True를 매개변수로 입력하면 내림차순으로 정리할 수 있습니다.
사용 예시는 이렇습니다.
arr.sort(['a','b','c','d'], reverse = True)
- key
정렬을 목적으로 하는 함수를 값으로 넣습니다.
lambda를 이용할 수도 있습니다.
key값을 기준으로 정렬되고 기본값은 오름차순입니다.
사용 예시는 이렇습니다.
arr.sort(key=len)
길이에 따라서 오름차순으로 정렬됩니다.
Stable Sort 와 Unstable Sort
간단하게 정리하자면,
기존에 있던 순서를 유지하는 것이 Stable sort이고,
정렬한 다음에 기존 순서를 유지하지 않는것이 Unstable sort입니다.
파이썬의 sort와 sorted 내장함수는 Timsort 알고리즘으로 구현되어 있습니다.
이 Timsort 알고리즘은 Stable Sort이기 때문에
파이썬의 내장 정렬 함수를 쓰면 Stable하다는 것이 특징입니다!
'🧮Programming > Python' 카테고리의 다른 글
| [Python] 입력 값 다중 리스트로 만드는 법 (0) | 2024.02.13 |
|---|---|
| [Python] 람다(lambda)함수 (0) | 2024.02.12 |
| [Python] map함수 (1) | 2024.02.09 |
| [Python] join함수 (0) | 2024.02.08 |
| [Python] 순열(Permutations)과 조합(Combinations) (0) | 2024.02.08 |