Python

[파이썬Python] 리스트 요소 길이순으로 정렬하기/내림차순 정렬 (sort)

슈딩이 2023. 8. 20. 14:39

sort()

sort()는 기본적으로 리스트 요소들을 사전순으로 정렬하는 메소드이다.

list = [5, 4, 3, 2, 1]
list.sort()
list2 = ['e', 'd', 'c', 'b', 'a']
list2.sort()

print(list)
print(list2)

출력

[1, 2, 3, 4, 5]
['a', 'b', 'c', 'd', 'e']

 

 

길이순으로 정렬하기

sort() 메소드의 파라미터중 key값을 이용하면 된다.

list = [5, 4, 3, 2, 1]
list.sort(key=len)

하지만 정수형은 길이가 지정되어있지 않기 때문에 오류가 난다.

길이순으로 정렬은 리스트의 요소들이 문자열일 경우에만 적용이 된다.

 

list = ['333', '55555', '22', '4444', '1']
list.sort(key=len)
print(list)

>>> ['1', '22', '333', '4444', '55555']

 

 

내림차순으로 정렬하기

sort()를 이용하여 정수를 정렬하면 기본적으로 오름차순으로 정렬된다.

reverse = True 를 파라미터로 주면 역순으로 정렬된다.

list = [1, 2, 3, 4, 5]
list.sort(reverse=True)
print(list)

>>> [5, 4, 3, 2, 1]