본문 바로가기

Python

[데이터 처리] 정렬

파이썬에서 데이터는 원본정렬(In-place sorting)과 사본정렬(Copied sorting) 이 두 가지 방법으로 정렬할 수 있습니다.

원본 정렬은 데이터를 가져와서 지정한 순서대로 정렬하고, 원래의 데이터를 정렬된 버전으로 변경합니다.
원래의 데이터를 정렬된 버전으로 변경하는 것입니다.
리스트의 sort() 메서드가 원본 정렬을 합니다.

사본 정렬은 데이터를 가져와서 지정한 순서대로 정렬하고, 정렬된 버전을 반환 합니다.
즉, 원래 데이터는 그대로 남아있고 사본만 정렬 됩니다.
sorted() 내장 함수가 사본 정렬을 지원 합니다.

>>> data=[9, 6, 3, 5, 7, 1, 4, 2, 8]    # 정렬되지 않은 리스트 변수에 대입
>>>data
[9, 6, 3, 5, 7, 1, 4, 2, 8]
>>> data.sort()                             # 데이터를 원본 정렬
>>> data
[1, 2, 3, 4, 5, 6, 7, 8, 9]                  # 데이터 순서 바뀜

>>> data=[9, 6, 3, 5, 7, 1, 4, 2, 8]
>>>data
[9, 6, 3, 5, 7, 1, 4, 2, 8]
>>> data2=sorted(data)                 # 데이터를 사본 정렬
>>>data
[9, 6, 3, 5, 7, 1, 4, 2, 8]                 # 데이터(data)는 그대로
>>>data2
[1, 2, 3, 4, 5, 6, 7, 8, 9]                 # 사본 데이터(data2)는 오름차순으로 정렬

이렇게 간단한 함수 사용으로 데이터를 오름차순으로 정렬할 수 있습니다.