[python] 파이썬 람다 표현식 사용하기
- 언어/파이썬
- 2020. 10. 15.
지금까지는 def로 함수를 정의해서 사용했습니다. 람다 표현식도 함수와 같은 기능을 하지만 1회성으로 사용이 되고
사용을 한다면 코드의 양을 눈에 띄게 줄일 수 있다는 장점이 있습니다.
기본 사용법 : lambda 매개변수들 : 식
우선 같은 기능을하는 함수와 람다식의 표현이 어떻게 다른지 확인해보겠습니다.
#람다 표현식
일반 함수
#일반 함수
def plus(x):
return x + 5
plus(1)
#출력 6 |
람다 표현식
plus = lambda x: x + 5
plus(1)
#출력 6 |
lambda x: x + 5는 매개변수 x 하나를 받고, x에 5를 더해서 반환합니다.
매개변수,연산자,값을 조합해 반환값을 만들어 줍니다.
#람다 표현식 자체에서 호출하기
print((lambda x: x + 5)(1))
#출력 6 |
위와 같이 람다 표현식을 ()로 묶고 다시 ()인수를 넣어서 호출할 수 있습니다.
람다식에서는 변수를 생성할 수 없고 생성되어있는 변수만 사용할 수 있습니다.
y = 10
print((lambda x: x + y)(2))
#출력 12 |
y = 10이 람다식 안에 들어가면 오류가 납니다.
#map과 list를 사용하여 1개 이상의 값 반환하기
z = 20
print(list(map(lambda x: x + z, [1, 2, 3])))
#출력 [21, 22, 23] |
#조건부 표현식 사용하기
a = [1,2,3,4,5,6,7,8,9]
list(map(lambda x: str(x) if x % 3 == 0 else x, a))
#출력 [1, 2, '3', 4, 5, '6', 7, 8, '9'] |
map을 사용하여 리스트 a값중 3의 배수에 해당하는 int를 str 형식으로 형변환 해줍니다.
위의 표현식을 일반 def로 변환하면 이렇게 사용 가능합니다.
a = [1,2,3,4,5,6,7,8,9]
def f(x):
if x % 3 == 0:
return str(x)
else:
return x
list(map(f,a))
'언어 > 파이썬' 카테고리의 다른 글
[python] 파이썬 빅데이터 기초 ( 웹사이트에 접근해서 사진 다운받기 ) (0) | 2020.11.03 |
---|---|
[python] 파이썬 아나콘다 설치 (0) | 2020.11.03 |
[python] 파이썬 함수 사용하기 #3언패킹 리스트,키워드인수,디폴트 인자값 (0) | 2020.10.15 |
[python] 파이썬 함수 사용하기 #2사칙연산 해주는 함수 만들기 (0) | 2020.10.15 |
[python] 파이썬 함수 사용하기 #1함수 생성 및 호출 (0) | 2020.10.15 |