본문 바로가기

파이썬

[Python3] .sort 와 sorted()

sort와 sorted는 모두 리스트를 정렬해주는 함수이지만 반환과 리스트 자체의 정렬 여부에 차이점이 있다.

 

.sort()

>>> list = [2,1,6,4,71,23]
>>> list.sort()
>>> list
[1, 2, 4, 6, 23, 71]

.sort() 함수는 위와 같이 리스트 자체를 정렬해준 뒤 반환하지 않는다.

 

sorted()

>>> list = [2,1,6,4,71,23]
>>> sorted(list)
[1, 2, 4, 6, 23, 71]
>>> list
[2, 1, 6, 4, 71, 23]

sorted() 함수는 정렬된 리스트를 반환하고 실제 리스트는 정렬되지 않는다.

 

key = lambda()

>>> list = [(1,3), (2,1), (34,21), (12,16)]
>>> list.sort(key = lambda x : x[1])
>>> list
[(2, 1), (1, 3), (12, 16), (34, 21)]
>>> list = [(1,3), (2,1), (34,21), (12,16)]
>>> sorted(list, key=lambda x:x[1])
[(2, 1), (1, 3), (12, 16), (34, 21)]
>>> list
[(1, 3), (2, 1), (34, 21), (12, 16)]

.sort() 와 sorted() 함수 둘다 위와 같이 lambda 함수로 key 값을 지정해 그를 기준으로 정렬할 수 있다.

 

 

참조 - lambda 함수

https://dev-jieun.tistory.com/2