본 강의 시리즈는 파이썬 입문 및 복습을 위한 강좌입니다. 모든 포스팅은 아래의 링크에서 확인가능합니다!
1강 - 변수와 자료형
2강 - 제어구조 ( if else 문)
3강 - 제어구조 ( for 문)
4강 - 제어구조 ( while 문)
5강 - 함수
6강 - 재귀함수
7강 - 람다 (lambda)
8강 - 문자열, 리스트
9강 - 튜플, 딕셔너리, 세트
10강 - 유용한 라이브러리
11강 - 클래스
12강 - 예외처리
어느덧 중반을 지나고 있습니다! 여기까지 오셨다면 너무 잘 따라오고 계십니다! 오늘은 lambda 함수에 대해 알아보겠습니다. 은근 써먹을곳이 많아서 꼭 소개해드리고 싶었어요! 일단 람다함수를 사용하는 이유는, 간결하게 코드를 짤 수 있고, 한두번만 사용하고 말 함수들에 대해서 불필요한 메모리 낭비를 방지할 수 있습니다. 그래서 어떻게 쓰냐?
lambda 매개변수: 반환값
이렇게 씁니다. 굉장히 간단하죠??
(lambda x: x+7)(1)
>>> 8
요런식으로 간단한 함수를 만들고 바로 사용이 가능합니다. 하지만 람다함수는 지역변수를 만들 수 없어요. 그래서 간단한 거에만 사용이 됩니다. 람다 함수를 주로 사용하는 것중에 하나가 우리가 예전에 다뤘던 map 함수에서 사용이 되는데요, 예제를 한번 봅시다.
여기서처럼 map의 첫번째 인자로 int라는 함수가 들어가는데, 여기에 우리가 원하는 함수를 간단하게 넣어줄 수 있습니다. 예를 들어 input을 받아서 5를 더해 변수에 넣고싶다면,
이런식으로 활용이 가능하겠죠!
또 많이 사용되는 경우가 sorted 함수를 사용할때 인데, 먼저 sorted 함수가 뭔지 잠깐 보겠습니다.
이렇게 순서대로 정렬을 해주는 내장함수인데요, sorted 함수는 옵션으로 key인자를 받아서 정렬 기준을 만들어 줄 수 있습니다.
이렇게 이름이 짧은 순서대로 정렬하고 싶다면, lambda x: len(x) 로 각 요소의 길이를 key값에 넣어줌으로써 정렬을 수행할 수 있습니다. 람다 함수는 정말 자기가 사용하기 나름이어서, 오늘 연습문제는 그동안 배웠던 것을 써먹을 수 있는 것들로 준비했습니다!
연습문제
https://www.acmicpc.net/problem/15649
https://www.acmicpc.net/problem/1025
https://www.acmicpc.net/problem/1153
'컴퓨터공학 > 파이썬 입문' 카테고리의 다른 글
[노베이스, 취준생을 위한 파이썬] - 9강 튜플, 딕셔너리, 세트 (0) | 2022.07.12 |
---|---|
[노베이스, 취준생을 위한 파이썬] - 8강 문자열, 리스트 (0) | 2022.07.12 |
[노베이스, 취준생을 위한 파이썬] - 6강 재귀함수 (0) | 2022.07.12 |
[노베이스, 취준생을 위한 파이썬] - 5강 함수 (0) | 2022.07.12 |
[노베이스, 취준생을 위한 파이썬] - 4강 while 문 (0) | 2022.07.12 |