Python

[python] lambda 함수

nang. 2020. 10. 8. 23:04
반응형
SMALL
  • 쓰고 버리는 일시적인 함수!
    • 이름 없는 익명 함수
  • 함수가 생성된 곳에서만 사용

표현 방법

  1. lambda 변수 (x) 설정
lambda x
  1. :(콜론) 써주기
lambda x:
  1. 반환값으로 사용할 식 설정 (함수 내용)
lambda x: x+10

함수 사용하기

  • 익명 함수기에 직접 호출은 불가능!
  1. 변수에 할당해주기
my_func = lambda x: x+10

my_func(1)
>> 11
  1. 람다식 자체 호출하기
    • 괄호로 묶은 뒤에 다시 괄호 붙이고 인수 넣기
(lambda x: x+10)(1)
>> 11

주의할 점

  • 람다식 안에서 새로운 변수를 만들 수 없다!
    • 반환값(함수내용) 부분은 식 한줄로 표기되어야 함
    • 변수가 필요하다면 def로 함수 정의해서 사용하기
  • 람다식 밖에 선언되어있는 변수 사용은 가능하다!

람다식을 인수로 사용하기

  • 람다식을 사용하는 주된 이유는 이것 때문
list(map(lambda x: x+10, [1,2,3]))
>> [11, 12, 13]
  • map의 인수로 int, str 등 자료형이 아닌 함수 이름이나 람다식이 들어갈 수 있음

응용

queue = [(i, idx) for idx, i in enumerate(queue)]
  • [5, 6, 7, 8] 이라는 queue 리스트를
  • [(5,0), (6,1), (7,2), (8,3)] 으로 만들어주는 형태식
반응형
LIST

'Python' 카테고리의 다른 글

[python] reverse(), reversed() 함수  (0) 2020.10.08
[python] extend 함수  (0) 2020.10.08
[python] enumerate 함수  (0) 2020.10.08
[python] _ (언더스코어)  (0) 2020.10.08
[python] join 함수  (0) 2020.10.08