이 글에서는 파이썬의 map() 내장 함수 안에 람다(lambda) 함수, 즉 익명 함수를 활용하여 특정 숫자의 거듭제곱 값을 차례대로 출력하는 방법을 소개합니다.
익명 함수(lambda)란?
파이썬에서 익명 함수는 이름 없이 정의되는 함수로, def 대신 lambda 키워드를 사용해 한 줄로 간단하게 작성할 수 있습니다. 주로 짧고 단순한 연산이 필요할 때 유용하며, 이번 예제처럼 map() 함수와 함께 사용하면 시퀀스의 각 요소에 동일한 연산을 손쉽게 적용할 수 있습니다.
알고리즘
1단계: 출력할 항의 개수 n을 입력받는다. 2단계: 거듭제곱을 계산할 숫자 p를 입력받는다. 3단계: 익명(람다) 함수를 사용한다. 4단계: 결과를 화면에 출력한다.
예제 코드
# 익명 함수를 사용하여 임의의 숫자의 거듭제곱 출력하기
n = int(input("출력할 항의 개수를 입력하세요: "))
p = int(input("거듭제곱을 계산할 숫자를 입력하세요: "))
# 익명 함수 사용
cal = list(map(lambda i: p ** i, range(n)))
# 결과 출력
print("전체 항의 개수 ::>", n)
for j in range(n):
print(p, "의", j, "제곱 =", cal[j])
코드 설명
range(n)은 0부터 n-1까지의 지수를 생성하고, 람다 함수 lambda i: p ** i가 각 지수 i에 대해 p의 거듭제곱을 계산합니다. map()은 이 연산을 모든 요소에 적용하며, list()로 감싸 결과를 리스트 형태로 저장합니다.
실행 결과
출력할 항의 개수를 입력하세요: 10 거듭제곱을 계산할 숫자를 입력하세요: 3 전체 항의 개수 ::> 10 3 의 0 제곱 = 1 3 의 1 제곱 = 3 3 의 2 제곱 = 9 3 의 3 제곱 = 27 3 의 4 제곱 = 81 3 의 5 제곱 = 243 3 의 6 제곱 = 729 3 의 7 제곱 = 2187 3 의 8 제곱 = 6561 3 의 9 제곱 = 19683