본문 바로가기
Python/정렬

[Algorithm] 파이썬 정렬, lambda 사용

by 유일리 2024. 6. 20.

우선 파이썬에서 sort()와 sorted() 함수를 통해 정렬을 할 수 있다.

sort()

 

원본 자체를 정렬시켜 준다.

a = [1,5,2,7]
a.sort() 
print(a)
#a = [1,2,5,7]

 

sorted()

 

원본을 변형시키지 않고 새로운 list를 반환한다.

a = [1,5,2,7]
b = sorted(a)
print(a)
print(b)
#a = [1,5,2,7]
#b = [1,2,5,7]

 

reverse

 

정렬 기능은 기본적으로 오름차순으로 제공한다. 내림차순으로 정렬하고 싶은 경우, reverse 파라미터를 통해 정렬할 수 있다.

a = [1,5,2,7]
a.sort(reverse=True)
print(a)
#a = [7,5,2,1]

 

key

 

정렬 조건을 설정할 함수를 넣을 수 있다.

a = ['love','i','banana']
a.sort(key=lambda x:len(x))
print(a)
#a = ['i', 'love', 'banana']

 

lambda(람다) 함수는 파이썬에서 익명 함수를 만들기 위해 사용된다.

lambda에서 앞에 "-" 를 붙이게 되면 reverse=True와 같은 효과를 가질 수 있다.

a = [[1,2],[2,5],[4,3]]
a.sort(key=lambda x:-x[1])
print(a)
#a = [[2, 5], [4, 3], [1, 2]]
data = [(2, 3), (1, 2), (3, 2), (4, 1)]
data.sort(key=lambda x: (x[1], x[0]))
print(data)
#data = [(4, 1), (1, 2), (3, 2), (2, 3)]

'Python > 정렬' 카테고리의 다른 글

[Algorithm] 프로그래머스 42746 가장 큰 수 | 파이썬 (정렬)  (0) 2024.09.05
[Algorithm] Sort(정렬)  (1) 2024.01.05

댓글