코드스테이츠(컴퓨터 공학 기본)(Computer Science) Session 5 / Sprint 1(람다(lambda))
람다를 활용하는 목적
람다라는 단어의 기본컨셉을 이해해보자
람다 대수
함수는 컴퓨터 과학과 수학의 기초를 이루는 개념이다.
람다 대수는 함수를 단순하게 표현할 수 있도록 하여 '함수의 계산'이라는 개념을 더 깊이 이해할 수 있게 돕는다.
람다는 인라인으로 작성할 수 있기 때문에 전체 함수보다 읽기 쉽다. 따라서 함수 표현식의 규모가 작을 때 람다를 사용하는 것이 좋다.
람다 함수의 장점은 함수 객체를 반환한다. 따라서 함수 객체를 인수로 필요로하는 map 또는 filter와 같은 함수와 함께 사용할 때 유용하다
# 함수정의
define_word = (lambda word1,define : word1 * define)
# 함수호출
result = define_word('call_result_',5)
# 결과출력
print(result)
# call_result_call_result_call_result_call_result_call_result_
# 리스트 생성
spelling = ["test1", "test2", "test4 test5", "test3"]
# 람다함수적용
shout_spells = map(lambda item: item + ('!!!'), spelling)
# 리스트형태로 변환
shout_spells_list = list(shout_spells)
# 결과출력
print(shout_spells_list) # TypeError: 'list' object is not callable
# 리스트 생성
fellowship = ['frodo', 'samwise', 'merry', 'pippin', 'aragorn', 'boromir', 'legolas', 'gimli', 'gandalf']
# 람다함수적용
result = filter(lambda member: len(member) > 6, fellowship)
# 리스트형태로 변환
result_list = list(result)
# 결과출력
print(result_list) # TypeError: 'list' object is not callable
# functools 모듈 사용
from functools import reduce
# 리스트 생성
stark = ['robb', 'sansa', 'arya', 'brandon', 'rickon']
# 람다함수적용
result = reduce(lambda item1, item2: item1+item2, stark)
# 결과출력
print(result) # robbsansaaryabrandonrickon
Author And Source
이 문제에 관하여(코드스테이츠(컴퓨터 공학 기본)(Computer Science) Session 5 / Sprint 1(람다(lambda))), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@oojjww1/코드스테이츠컴퓨터-공학-기본Computer-Science-Session-5-Sprint-1람다lambda저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)