ݺߣ

ݺߣShare a Scribd company logo
널널한 교수의 기초 파이썬
17_2. 필터 함수와 맵 함수
창원대학교 정보통신공학과 박동규
동영상 강의자료와 코드
• 동영상 강의(널널한 교수의 기초 파이썬)
• https://www.youtube.com/watch?
v=TK6RLGaM3Ao&list=PL2P1Vm9k53HOEn-QYXAfblQWkR0OW9mKX
• 소스코드( GitHub )
• https://github.com/dongupak/Basic-Python-Programming
의문
대신에
와 같이 간단하게 사용할 수도 있지 않느냐?
람다 함수는 위와같은 방식으로 사용하는 것은 아니다.

앞서 살펴본 필터나 맵에서 편리하게 사용할 수 있다
필터(filter) 함수와 람다
• 리스트에서 다룬 filter() 함수는 순환가능한 요소들을 함수에 넣어
그 리턴값이 참인 것만 묶어서 반환한다.
수행결과
adult_func()는 필터함수로 여기서는 19세 이상의 나이만 True를

반환하고 나머지는 False를 반환한다.

따라서 리스트 원소중 18, 13은 가져오지 않는다
filter_ex1.py
필터(filter) 함수와 람다
• 앞의 adult_func()는 필터에서 사용할 1회용 함수로 람다를 이용하
여 다음과 같이 단순화하는 것이 더욱 편리하다
수행결과
filter_ex2.py
비교일반 함수 람다 함수
간결하면서도 핵심적인 알고리즘에 집중함

한번 사용한 후 뒤에는 사용 안함
[34, 39, 20, 18, 13, 54]
lambda x: x >= 19
(필터 함수)filter
[34, 39, 20, 54]
Lab
맵(map) 함수와 람다
• 파이썬은 map() 이라는 내장함수를 제공하는데 열거가능한 자료형
의 각 요소들에 대해서 매핑 함수를 적용한다

• 리스트의 모든 원소에 대해 제곱과 세제곱을 수행하는 lambda 함
수를 만들어봅시다
1 2 3 4 5 6 7
1 4 9 16 25 36 49
map(lambda x: x**2, a)
a = [1, 2, 3, 4, 5, 6, 7]
a
x**2
1 2 3 4 5 6 7
1 8 27 64 125 216 343
map(lambda x: x**3, a)
a = [1, 2, 3, 4, 5, 6, 7]
a
x**3
수행결과
Lab
감사니다

More Related Content

17 2 필터함수와 맵함수

  • 1. 널널한 교수의 기초 파이썬 17_2. 필터 함수와 맵 함수 창원대학교 정보통신공학과 박동규
  • 2. 동영상 강의자료와 코드 • 동영상 강의(널널한 교수의 기초 파이썬) • https://www.youtube.com/watch? v=TK6RLGaM3Ao&list=PL2P1Vm9k53HOEn-QYXAfblQWkR0OW9mKX • 소스코드( GitHub ) • https://github.com/dongupak/Basic-Python-Programming
  • 3. 의문 대신에 와 같이 간단하게 사용할 수도 있지 않느냐? 람다 함수는 위와같은 방식으로 사용하는 것은 아니다. 앞서 살펴본 필터나 맵에서 편리하게 사용할 수 있다
  • 4. 필터(filter) 함수와 람다 • 리스트에서 다룬 filter() 함수는 순환가능한 요소들을 함수에 넣어 그 리턴값이 참인 것만 묶어서 반환한다. 수행결과 adult_func()는 필터함수로 여기서는 19세 이상의 나이만 True를 반환하고 나머지는 False를 반환한다. 따라서 리스트 원소중 18, 13은 가져오지 않는다 filter_ex1.py
  • 5. 필터(filter) 함수와 람다 • 앞의 adult_func()는 필터에서 사용할 1회용 함수로 람다를 이용하 여 다음과 같이 단순화하는 것이 더욱 편리하다 수행결과 filter_ex2.py
  • 6. 비교일반 함수 람다 함수 간결하면서도 핵심적인 알고리즘에 집중함 한번 사용한 후 뒤에는 사용 안함
  • 7. [34, 39, 20, 18, 13, 54] lambda x: x >= 19 (필터 함수)filter [34, 39, 20, 54]
  • 8. Lab
  • 9. 맵(map) 함수와 람다 • 파이썬은 map() 이라는 내장함수를 제공하는데 열거가능한 자료형 의 각 요소들에 대해서 매핑 함수를 적용한다 • 리스트의 모든 원소에 대해 제곱과 세제곱을 수행하는 lambda 함 수를 만들어봅시다
  • 10. 1 2 3 4 5 6 7 1 4 9 16 25 36 49 map(lambda x: x**2, a) a = [1, 2, 3, 4, 5, 6, 7] a x**2
  • 11. 1 2 3 4 5 6 7 1 8 27 64 125 216 343 map(lambda x: x**3, a) a = [1, 2, 3, 4, 5, 6, 7] a x**3
  • 13. Lab