오뚝이개발자

[Python] 파이썬 리스트 정렬, sort()와 sorted() 차이 본문

Language/파이썬

[Python] 파이썬 리스트 정렬, sort()와 sorted() 차이

땅어 2020. 9. 15. 13:47
728x90
300x250

 

 

파이썬에서 리스트를 정렬해야하는 경우가 많다. 이 때 사용할 수 있는게 .sort()와 sorted()이다. 여기선 sort()와 sorted()의 차이 그리고 오름차순, 내림차순으로 정렬하는 방법을 살펴보자.

 

sort()와 sorted()


a = [1, 5, 3, 8, 4]
a.sort()
print(a)    # [1, 3, 4, 5, 8]

b = [1, 5, 3, 8, 4]
print(sorted(b))    # [1, 3, 4, 5, 8]
print(b)    # [1, 5, 3, 8, 4]

sort()는 리스트형의 메소드이고, sorted()는 파이썬 내장함수이다. a.sort()라고 했을 때 원래의 리스트 a의 결과가 정렬된 형태도 변경되어 저장된 것을 알 수 있다. 이에 반해, sorted(b)의 경우 리스트 b를 정렬한 리스트를 반환한다. sort()와 달리 sorted()를 사용한 경우 원래의 리스트인 b의 내용에 변화가 없는 것을 알 수 있다.

 

오름차순, 내림차순 정렬


경우에 따라선 오름차순 또는 내림차순으로 정렬해야 할 때가 있다. 이럴 때는 sort() 메소드에 reverse 아규먼트로 설정해주면 된다. reverse=True로 설정해주면 내림차순으로 정렬이 된다. 설정해주지 않으면 default값은 False이고 이 땐 오름차순으로 정렬이 된다.

c = [1, 5, 3, 8, 4]
c.sort()
print(c)# [1, 3, 4, 5, 8]
c.sort(reverse=True)
print(c)    # [8, 5, 4, 3, 1]
728x90
300x250
Comments