Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

KJH

lambda ??? 본문

Python

lambda ???

모이스쳐라이징 2024. 7. 29. 21:56

어느날 gpt로 "코드 짜줘~" 했는데 lambda로 너무 간략하게 만들어줘서 놀란 기억이 있다.
치욕스럽지만 "쉽게 짜줘!"로 lambda를 지워버리고 def로 받았다.
이젠 더이상 gpt에게 무시당하지 않도록 lambda를 알아보고자 한다.

 

lambda는 함수를 만드는 문법이고, 생긴건 아래와 같으며 둘은 똑같은 동작을 하게 됩니다.

def func(a,b):
    return a + b
    
lambda a, b: a + b

 

def f(a):
    return a%10
    
lambda a: a%10

 

 

def가 있는데 왜 쓰냐가 가장 큰 의문인데

함수명을 정하지 않고 함수의 기능만을 사용하는게 큰 장점이고, 간단한 것들은 lambda로 뚝딱 구현해버리고 마는 용도로 보입니다.

그래서 함수지만 익명함수로 불림

 

주로 정렬을 수행할때 많이 쓰임

단순 크기 비교의 정렬은 아니고, 어떤 기준에 의해서 정렬할때 빛을 발한다고 함

 

sort의 key에 함수를 줘서 array의 int를 정렬하는 코드가 있을때 def로 함수 선언을 하고 전달 했다면

array = [
    ["a", 10],
    ["b", 1],
    ["c", 5]
]
def f(a): return a[1]
array.sort(key=f)
print(array)

# result [['b', 1], ['c', 5], ['a', 10]]

 

 

이렇게 선언 없이 바로 함수의 기능만 사용할 수 있음

array = [
    ["a", 10],
    ["b", 1],
    ["c", 5]
]
array.sort(key=lambda a: a[1])
print(array)

# result [['b', 1], ['c', 5], ['a', 10]]

 

 

'Python' 카테고리의 다른 글

MCP 사용해보기 (/w cursor, unity)  (0) 2025.04.06
args ??? kwargs ???  (0) 2024.07.30
Slack API (fastapi - slack_bolt)  (0) 2024.07.19
azure openAI (GPT4.0, ada-002)  (0) 2023.11.26
Slack API (Legacy)  (0) 2023.10.20