본문 바로가기

Coding, Testing, Challenge/python-basic

Python 리스트 정렬

728x90

이번 포스팅에서는 리스트의 요소들을 정렬하는 법에 대해서 알아보겠습니다.

Python에서 리스트를 정렬하는 방법은 sort와 sorted로 2가지 방법이 있습니다.

 

먼저 sorted에 대해서 알아보겠습니다.

sorted의 사용법은 다음과 같습니다.

정렬되어 저장될 리스트명 = sorted(정렬할 리스트명)

다음의 코드를 보겠습니다.

정렬되지 않은 7개의 요소를 가진 리스트 num1을 sorted 하여 new_num1에 저장하는 코드입니다.

이후 new_num1과 num1을 순차적으로 출력해서 값을 비교해봅니다.

 

결과를 보면 

리스트 new_num1에 리스트 num1의 요소들이 오름차순으로 정렬되어 저장된 것을 알 수 있습니다.

하지만, 원본인 num1의 경우에는 어떤 변화도 없습니다.

즉, sorted는 원본 리스트의 데이터를 복사하여 정렬 후 새로운 리스트를 생성하는 방법입니다. 

 

그렇다면 내림차순 정렬을 하고 싶을 경우는 어떻게 해야 할까요

아래와 같은 방식으로 코드를 사용하면 됩니다.

정렬되어 저장될 리스트명 = sorted(정렬할 리스트명, reversed=True)

다음 코드를 보겠습니다.

정렬되지 않은 7개의 요소를 가진 리스트 num2을 sorted 하여 new_num2에 저장하는 코드입니다.

바로 위의 코드와 다른점은 sorted의 파라미터로 reversed가 들어간 것인데,

reversed는 말그대로 거꾸로, 역순 정렬을 사용할 것인지 물어보는 파라미터입니다.

True로 할 경우 역순 정렬 즉, 기존에 오름차순 정렬의 역순인 내림차순 정렬이 진행됩니다.

이런 정렬 과정이 끝난 후 new_num2과 num2을 순차적으로 출력해서 값을 비교해봅니다.

결과를 보면

리스트 new_num2에 리스트 num2의 요소를 내림차순 후 정렬되어 저장된 것을 알 수 있습니다.

 

 

 

다음은 sort에 대해서 알아보도록 하겠습니다.

sort는 sorted와 다르게 리턴 값을 통해서 다른 리스트를 생성하는 것이 아닌,

원본 리스트 자체를 정렬하는 방법입니다.

사용법은 다음과 같습니다.

리스트명. sort()

다음의 코드를 보겠습니다.

정렬되지 않은 7개의 요소를 가진 리스트 num3를 sort를 통해서 정렬하는 코드입니다.

sorted와 다르게 별도로 다른 리스트에 대입하는 것이 아닌 리스트 자체로 정렬됩니다.

결과를 보면,

num3 함수가 오름차 순으로 정렬된 것을 알 수 있습니다.

 

그러면 sort를 통해서 내림차순 정렬을 하려면 어떻게 해야 할까요?

방법은 sorted와 동일합니다.

사용법은 다음과 같습니다.

리스트명. sort(reverse=True)

차이가 있다면 sorted는 영어 시제를 맞춰서 reversed 정도의 차이가 있을 것으로 보입니다.

다음의 코드를 보겠습니다.

위와 마찬가지로 정렬되지 않은 7개의 요소를 가진 리스트 num4를 sort를 통해서 정렬하는 코드입니다.

차이점은 sort()에서 reverse 파라미터를 True가 기재된 것이 차이점입니다.

결과를 보면,

num4 함수가 역방향으로 정렬된 것을 확인할 수 있습니다.

 

이번 포스팅에서는 리스트의 정렬에 대해서 알아보았습니다.

포스팅에 사용된 코드들은 아래 파이썬 파일과 동일합니다. 참고해 주세요

test_15.py
0.00MB

다음 포스팅에서는 Python 리스트의 메소드에 대해서 알아보겠습니다.

 

 

'Coding, Testing, Challenge > python-basic' 카테고리의 다른 글

Python for문과 range문  (0) 2021.01.02
Python 리스트 메소드  (0) 2021.01.01
Python 리스트 함수  (0) 2020.12.30
Python 리스트  (0) 2020.12.29
Python while문과 if문  (0) 2020.12.28