이 튜토리얼에서는 람다(lambda)를 사용한 익명 함수를 작성하여 리스트 안의 양수와 음수를 재정렬하는 방법을 알아봅니다. 목표는 리스트에서 음수를 먼저 추출한 뒤 양수를 이어 붙여 새로운 리스트를 만드는 것입니다.
알고리즘
문제를 단계별로 해결하는 과정을 살펴보겠습니다.
1. 음수와 양수가 섞여 있는 리스트를 초기화합니다. 2. 리스트를 인자로 받는 람다 표현식을 작성합니다. 2.1. 리스트를 순회하며 음수를 추출합니다. 2.2. 같은 방식으로 양수를 추출합니다. 2.3. 연결 연산자(+)로 두 결과를 하나로 합칩니다. 3. 최종 리스트를 반환합니다.
참고 - 음수와 양수를 추출할 때는 리스트 컴프리헨션(list comprehension)을 사용하면 코드를 훨씬 간결하게 작성할 수 있습니다.
예제 코드
작성 중 막히는 부분이 있다면 아래 코드를 참고하세요.
# 리스트 초기화 arr = [3, 4, -2, -10, 23, 20, -44, 1, -23] # 람다 표현식 rearrange_numbers = lambda arr: [x for x in arr if x < 0] + [x for x in arr if x >= 0] # 리스트 재정렬 new_arr = rearrange_numbers(arr) # 결과 출력 print(new_arr)
실행 결과
위 프로그램을 실행하면 다음과 같은 출력을 확인할 수 있습니다.
[-2, -10, -44, -23, 3, 4, 23, 20, 1]
마무리
람다 함수는 프로그램 안에서 여러 번 반복 수행해야 하는 간단한 연산에 매우 적합합니다. 이번 예제처럼 람다 표현식 하나만으로도 음수와 양수를 손쉽게 분리하고 재정렬할 수 있습니다. 나아가 filter() 함수나 sorted() 함수의 key 매개변수를 활용하는 방법까지 익혀두면 더 다양한 상황에 유연하게 대응할 수 있습니다. 튜토리얼에 대해 궁금한 점이 있다면 댓글로 남겨주세요.