본문 바로가기

DS/fast campus daily report

7.4 (데이터엔지니어링) 람다함수의 이해 및 사용하기

람다 함수의 이해 및 사용하기 (24:38)

lambda 함수

  • 단일문 표현 익명함수
  • 구현체만 존재함
  • 1회성 으로 만들어서 쓸 때 사용함
# lambda 
square = lambda x : x**2
print( type (square) )

square(5)
# def 함수 정의
def add(x, y):
    return x + y

# 함수 정의 없이 구현
add2 = lambda x, y : x+y
add2(10,20)
# sort 

# 문자열의 길이 반환
def str_len(s):
    return len(s)

print(str_len('test'))

strings = ['bob', 'charles', 'alexander3', 'teddy']
#strings.sort(key=str_len) # 문자열 길이로 정렬함
strings.sort(key=lambda s : len(s) )
print (strings)

# 문자열의 길이로 정렬하고자 할 때,

filter, map, reduce 함수 + lambda 함수

# filter, list에서 filtering할 때, 필요함
# filter( #함수 , #리스트 )
nums = [1,2,3,6,8,9]
list ( filter(lambda n: n%2==0,  nums) )
# map, list에서 filter 안하고 새로운 list 생성함

#map(함수, 리스트)
list ( map(lambda x : x**2, nums ) )
def even(x):
    if x  % 2 == 0 :
        return True
    else :
        return False
    
list(map(even, nums))
# reduce : 리스트 앞 2개씩 연산해서 1개의 값만 남긴다 
import functools
a = [1,3,5,8]
functools.reduce(lambda x, y : x+y ,a)

연습문제 

1. 리스트의 평균

2. 

3. ㅇㅇ