더북(TheBook)

3 람다 함수


람다(lambda) 함수는 이름이 없는 함수입니다. 이름이 없기 때문에 다음 행으로 넘어가면 다시 사용할 수 없습니다. 자주 사용할 함수가 아니라면 필요할 때 람다 함수로 만들어 사용하면 됩니다. 람다 함수를 사용하는 예를 들어 보겠습니다.

>>> li = [i for i in range(1, 11)]

>>> li

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

>>> li.sort(key = lambda x: x % 2 = = 0)     #1

>>> li

[1, 3, 5, 7, 9, 2, 4, 6, 8, 10]


li는 1부터 10까지의 정수가 순차적으로 나열된 리스트입니다. 이 리스트 안에서 2의 배수와 2의 배수가 아닌 수로 나누고 싶다면 #1처럼 정렬하는 데 필요한 key 인자에 람다 함수를 전달하면 됩니다. 2의 배수가 아니라면 False이므로 0이 되고, 2의 배수면 True이므로 1이 됩니다. 그리고 이것이 오름차순으로 정렬되면 2의 배수가 뒤에 배치됩니다.

정렬 기준으로 사용하기 위해 함수를 따로 정의하는 것은 번거로운 작업입니다. 이때 람다 함수를 사용하면 매우 편리하게 정렬 기준을 제공할 수 있습니다. 람다 함수를 변수로 받으면 함수 정의를 한 것처럼 사용할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.