[Python] 리스트(List) 정렬, 역정렬

다른 언어도 쉽겠지만 Python은 정말 별도로 구현해야 하는 것들을 기본적으로 매우 잘 제공하고 있다. 정렬도 그중 하나의 예인데 다양한 정렬 방식을 제공하니 아래와 같이 필요한 방법을 사용하면 된다.

 

python 리스트 정렬, 역정렬


sorted()

- 현재 리스트를 변경하지 않고 정렬 후 변수에 넘기는 방식

list_data = [4,2,5,3,7,8,9]

sorted_list_data = sorted(list_data)
print('새로운 리스트->', sorted_list_data)

# 새로운 리스트-> [2, 3, 4, 5, 7, 8, 9]

 

list.sort()

- 현재의 리스트를 정렬한다.

list_data.sort()
print('본인 정렬->', list_data)

# 본인 정렬-> [2, 3, 4, 5, 7, 8, 9]

 

reverse=True

- list.sort()나 sorted()에서 사용이 가능하며, reverse=True를 할경우 역정렬을 수행한다.

# 역정렬
list_data.sort(reverse=True)
print('역정렬->', list_data)

# 역정렬-> [9, 8, 7, 5, 4, 3, 2]

 

key 정렬

- 인자값으로 key에 정렬 방법을 지정하면, 해당 조건에 맞게 정렬이 수행된다.

list_data = [1,-4,-5,2]
list_data.sort()
print(list_data)

# [-5, -4, 1, 2]

divide_sorted = sorted(list_data, key=abs)
print(divide_sorted)

# [1, 2, -4, -5]

위 예제에서 key에 abs(절대값)을 사용하였는데 기존에 -5, -4, 1, 2 순이었던 정렬 순서가 1, 2, -4, -5로 변경되었다. 

 

 

 

반응형

댓글

Designed by JB FACTORY