귀염둥이의 메모

[Python] 람다(lambda)함수 본문

CS/Python

[Python] 람다(lambda)함수

겸둥이xz 2021. 2. 23. 01:19
반응형

람다(lambda) 함수

  • 함수의 이름 없이, 함수처럼 사용할 수 있는 익명의 함수를 말한다.
  • 일반적으로 람다 함수는 이름을 지정하지 않아도 사용할 수 있다.

일반적인 함수 vs 람다 함수

# 일반적인 함수
def f(x, y):
    return x + y

print(f(1, 4))

# 5

 

# 람다함수
f = lambda x, y: x + y

print(f(1, 4))

# 5

위의 두 코드는 모두 입력된 x, y의 값을 더하여 그 결과를 반환하는 함수로, 결과값도 5로 같다.

람다 함수는 별도의 defreturn을 작성하지 않고, 단지 앞에는 매개변수의 이름, 뒤에는 매개변수가 반환하는 결과값인 x + y를 작성했다.

 

람다 함수의 다른 표현 방식

print((lambda x: x + 1)(5))
# 6

위 코드처럼 이름 없이도 사용할 수 있다.

람다 함수에 별도의 이름을 지정하지 않고 괄호에 람다 함수를 넣고 argument로 5를 입력했다. 결과는 6

 

람다 함수의 쓰임새

>>> arr = [[28, "jy"] , [35 , "kg"] , [51 , "ak"]]

i = 0, 1, 2 일때 arr[i][0]은 숫자 arr[i][1]는 문자열이다.

 

>>> sorted_by_num = sorted(arr, key=lambda x: x[0])
>>> print(sorted_by_num)

[[28, 'kg'], [35, 'jy'], [51, 'ak']] 

key=lambda x: x[0] 숫자 기준 정렬 (오름차순)

 

>>> sorted_by_str = sorted(arr, key=lambda x: x[1])
>>> print(sorted_by_str)

[[51, 'ak'], [35, 'jy'], [28, 'kg']]

key=lambda x: x[1] 문자열 기준 정렬 (사전순)

반응형

'CS > Python' 카테고리의 다른 글

[Python] 프로젝트 구조 관련  (0) 2022.04.08
[Python] 2차원 배열 초기화  (0) 2021.10.07
[Python] f-string (문자열 포매팅)  (0) 2021.02.17
[Python] List Comprehension  (0) 2021.02.17
Comments