IT 삽질기

python list 특정 index 값으로 정렬하기 본문

개발/python

python list 특정 index 값으로 정렬하기

화이팅빌런 2021. 6. 13. 00:59

python 리스트를 정렬하는 방법과 특정 index의 값을 기준으로 정렬하는 방법에 대해 알아보도록 하자.

 

python list 정렬하기

먼저 일반적인 정렬 방법에 대해 알아보도록 하자.

일반적으로 python list를 정렬하는 방법은 sorted() 함수를 사용하는 방법과 list.sort()함수를 사용하는 방법이 있다.

sorted()

먼저 sorted()함수를 사용하는 방법에 대해서 알아보자.

list를 인자로 전달하면 새로운 list를 전달해주며, 기본적으로는 오름차순으로 정렬된다.

 

테스트 코드를 통해 알아보자.

a list를 sorted() 함수를 통해 정렬해 b에 넣고, a와 b를 각각 출력해보면 위와 같은 결과가 나온다.

a의 값은 변화하지 않았으며, b에는 a의 정렬된 값이 들어가게 되고 위에서 설명한 것과 같이 오름차순으로 정렬된다.

reverse 옵션도 함께 사용해보자.

reverse를 True로 설정하면 위와 같이 역순으로 정렬이 되는 것을 확인할 수 있다.

 

list.sort()

다음으로 list.sort()함수를 이용해 정렬하는 방법에 대해서 알아보도록 하자.

list.sort 함수 역시 key, reverse에 대한 것을 지정할 수 있고, return은 None형식이다.

테스트를 통해 알아보도록 하자.

실행 결과를 살펴보면 b에는 아무런 값도 들어있지 않은데, None값을 return하기 때문에 아무런 값도 들어있지 않다.

list a 자체가 정렬되어 반환된 것을 확인할 수 있다.

reverse 옵션을 사용하는 것도 확인해보자.

reverse를 True로 설정하면 sorted()함수에서 사용한 것과 같이 역순으로 정렬되는 것을 확인할 수 있다.

 

특정 index값으로 정렬하기

다음으로 특정 list의 특정 index값으로 정렬하는 방법에 대해서 알아보도록 하자.

지금까지는 1차원 list에 대한 정렬을 진행했는데 2차원 리스트의 예를 살펴보자.

이번에 정렬해볼 list는 아래와 같다.

문자열과 숫자로 이루어진 2차원 list로 정렬을 하면 0번 index에 해당하는 문자열을 기준으로 정렬이 될 것이다.

여기서 숫자인 index 1번을 기준으로 정렬을 하려면 어떻게 해야할까.

위의 sorted(), list.sort()의 key를 이용해서 할 수 있는데, 예제를 통해 살펴보자.

key를 이용해 어떤 값을 기준으로 정렬할지를 지정해주면 되는데, 위와 같이 설정하면 list의 1번 index값으로 정렬된다.

 

출처

https://docs.python.org/ko/3/howto/sorting.html

'개발 > python' 카테고리의 다른 글

python datetime <-> 문자열 변경하기  (0) 2021.08.07
windows에 jupyter설치하기  (0) 2021.08.05
windows에 python 설치  (0) 2021.08.04
pyHive Hive LDAP SASL error  (0) 2021.04.22
Mac에 jupyter 설치하기  (0) 2019.04.30
Comments