Leta Learns

lambda를 사용한 정렬 본문

Python

lambda를 사용한 정렬

leta 2021. 7. 9. 14:53

lambda

 : 익명함수 => 간결한 코드, 메모리 절약

def 함수이름(매개변수):
	return 결과
lambda 매개변수 : 결과

람다는 return 키워드 없이 자동으로 리턴.

 

sort메소드와 함께 사용되는 경우 多

 

 

 

#특정 조건

정렬할 때 특정 조건 적용 가능

=> lambda함수의 key인자 사용

cafe = [["카푸치노", 5000], ["아포가토", 6000], ["카페라떼", 4000], ["아메리카노", 3000]]

cafe.sort(key = lambda x:x[1])

.sort(key = lambda x:x[1])   #x[1]의 값이 정렬의 기준 (key)

   => 가격을 기준으로 정렬

 

 

 

#다중 조건

cafe = [["카푸치노", 5000], ["아포가토", 5000], ["카페라떼", 4000], ["아메리카노", 3000]]

cafe.sort(key = lambda x:(x[1], x[0]))

.sort(key = lambda x:(x[1], x[0]))   #x[1](첫 번째 인자)을 기준으로 우선 정렬한 후, 그 안에서 x[0](두 번째 인자)을 기준으로 재정렬

 

카푸치노와 아포가토의 가격이 같은 경우,

두 번째 조건인 x[0]을 기준으로 정렬하는 과정에서

   => 문자열 순서에 따라 아포가토가 앞에 온다.

 

 

 

 

참고 : https://wikidocs.net/22804

https://hyun-am-coding.tistory.com/entry/key%EC%99%80-lambda%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%A0%95%EB%A0%AC

 

 

'Python' 카테고리의 다른 글

print(*)  (0) 2022.01.24
아스키코드 변환 함수 ord(), chr()  (0) 2021.07.20
sys.stdin.readline  (0) 2021.07.07
Comments