Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- python수업
- 파이썬알고리즘
- 판다스데이터분석
- python알고리즘
- 주피터노트북그래프
- matplotlib
- 팀플기록
- sql따라하기
- 파이썬시각화
- sql연습
- 파이썬데이터분석주피터노트북
- SQL
- 데이터분석시각화
- sql연습하기
- 주피터노트북맷플롯립
- 파이썬수업
- 주피터노트북데이터분석
- SQLSCOTT
- Python
- 파이썬차트
- 주피터노트북판다스
- 수업기록
- 주피터노트북
- 파이썬데이터분석
- SQL수업
- 파이썬
- 맷플롯립
- 판다스그래프
- python데이터분석
- 파이썬크롤링
Archives
- Today
- Total
IT_developers
Python 개념 및 실습 - 함수(2) 본문
람다(Lambda) 함수
- 단일문으로 표현 되는 익명함수
- 코드 상에서 한 번만 사용되는 기능이 있을 때 굳이 함수로 만들지 않고 1회성으로 만들어서 사용
def square(x):
return x**2
print(square(5))
# 람다식 변형
square = lambda x: x**2
print(type(square))
print(square(5))

def add(x, y):
return x + y
print(add(15, 2))
# 람다식 변형
add = lambda x, y: x + y
print(add(15, 2))

리스트 구조
# 문자의 길이가 짧은 순서대로 정렬하고 싶음
def str_len(s):
return len(s)
strings = ["bob", "charles", "alexander3", "teddy"]
strings.sort() # 오름차순 정렬 후 출력
# 괄호안에 바로 람다식 입력 가능
strings.sort(key=lambda s: len(s))
print(strings)
filter, map, reduce : 함수형 프로그래밍
리스트를 넘겨받아 짝수만 모아서 새로운 리스트로 반환
list1 = [1, 2, 3, 6, 8, 9]
even_list = [] # 새로운 리스트 even_list = list()
def even(list1):
for i in list1:
if i % 2 == 0:
even_list.append(i)
even(list1)
print(even_list)
def even(n):
return n % 2 == 0
filter() : 특정 조건을 가지고 있는 함수를 담음
print(list(filter(even, list1)))
# 람다직접입력
print(list(filter(lambda n: n % 2 == 0, list1)))
# 리스트를 받아 제곱을 한 숫자로 새로운 리스트 생성
nums = [1, 2, 3, 6, 8, 10, 11, 12, 13, 14, 15]
def mul(n):
return n**2
print(list(map(mul, nums)))
print(list(map(lambda n: n**2, nums))) # 람다식
# 주어진 리스트에서 3의 배수만 문자열로 변경해서 돌려받기
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
num_result = []
def str_check(nums):
for i in nums:
if i % 3 == 0:
num_result.append(str(i))
else:
num_result.append(i)
def str_check(num):
if num % 3 == 0:
return str(num)
else:
return num
num_result = list(map(str_check, nums))
print(num_result)
num_result = list(map(lambda num: str(num) if num % 3 == 0 else num, nums))
print(num_result)
'Python' 카테고리의 다른 글
Python 개념 및 실습 - 파일 읽고 쓰기(2) (0) | 2022.09.09 |
---|---|
Python 개념 및 실습 - 파일 읽고 쓰기(1) (0) | 2022.09.09 |
Python 개념 및 실습 - 함수(1) (0) | 2022.09.08 |
Python 개념 및 실습 - set (0) | 2022.09.07 |
Python 개념 및 실습 - dictionary (0) | 2022.09.07 |
Comments