Python - lambda 예제 코드Python/Python 예제 코드2024. 11. 3. 03:14
Table of Contents
반응형
Lambda는 이름 없는 일회용 함수를 만드는 방법입니다.
lambda 인자: 표현식 |
2021. 5. 29 최초작성
2024. 11. 3
같은 기능을 하는 일반 함수와 lambda 함수를 비교해봅니다.
# 일반 함수 def add(x, y): return x + y # lambda 함수 add_lambda = lambda x, y: x + y print(add(3, 5)) # 출력: 8 print(add_lambda(3, 5)) # 출력: 8 |
if문에서 사용
is_even = lambda x: "짝수" if x % 2 == 0 else "홀수" print(is_even(4)) # 짝수 print(is_even(7)) # 홀수 |
# 삼항 연산자 사용 is_positive = lambda x: "양수" if x > 0 else ("0" if x == 0 else "음수") print(is_positive(5)) # "양수" print(is_positive(-3)) # "음수" print(is_positive(0)) # "0" |
한줄 if문과 lamba에서 if문 사용하는 것의 차이
# 한 줄 if문 사용 def check_value1(x): return "크다" if x > 10 else "작다" # lambda 사용 check_value2 = lambda x: "크다" if x > 10 else "작다" # 둘 다 같은 결과를 반환 print(check_value1(15)) # 크다 print(check_value2(15)) # 크다 |
# 리스트 내포와 한 줄 if numbers = [1, 2, 3, 4, 5] result1 = [num * 2 if num % 2 == 0 else num for num in numbers] # map과 lambda result2 = list(map(lambda x: x * 2 if x % 2 == 0 else x, numbers)) print(result1) # [1, 4, 3, 8, 5] print(result2) # [1, 4, 3, 8, 5] |
map() 함수와 같이 사용
numbers = [1, 2, 3, 4, 5] # 각 숫자의 제곱 계산 squares = list(map(lambda x: x**2, numbers)) print(squares) # [1, 4, 9, 16, 25] |
여러 리스트 동시 처리
list1 = [1, 2, 3] list2 = [10, 20, 30] sums = list(map(lambda x, y: x + y, list1, list2)) print(sums) # [11, 22, 33] |
filter() 함수와 같이 사용
numbers = range(-5, 6) # 양수만 필터링 positive_nums = list(filter(lambda x: x > 0, numbers)) print(positive_nums) # [1, 2, 3, 4, 5] # 짝수만 필터링 even_nums = list(filter(lambda x: x % 2 == 0, numbers)) print(even_nums) # [-4, -2, 0, 2, 4] |
sorted() 함수와 같이 사용
students = [ {'name': '김철수', 'age': 20, 'score': 85}, {'name': '이영희', 'age': 19, 'score': 92}, {'name': '박민수', 'age': 22, 'score': 78} ] # 나이순 정렬 age_sorted = sorted(students, key=lambda x: x['age']) print("나이순:", age_sorted) # 점수순 정렬 score_sorted = sorted(students, key=lambda x: x['score'], reverse=True) print("점수 내림차순:", score_sorted) # 복합 조건 정렬 (나이와 점수로 정렬) complex_sorted = sorted(students, key=lambda x: (x['age'], -x['score'])) print("나이순, 같은 나이는 점수 내림차순:", complex_sorted) |
리스트에서 사용
리스트 정렬 - 문자열 길이 기준
words = ['python', 'java', 'javascript', 'c++', 'ruby'] sorted_words = sorted(words, key=lambda x: len(x)) print(sorted_words) # 출력: ['c++', 'java', 'ruby', 'python', 'javascript'] |
max 함수와 사용
products = [ ('노트북', 1200000), ('마우스', 30000), ('키보드', 150000) ] most_expensive = max(products, key=lambda x: x[1]) print(most_expensive) # 출력: ('노트북', 1200000) |
반응형
'Python > Python 예제 코드' 카테고리의 다른 글
파이썬 이터레이터(Iterator)와 제너레이터(Generator) (0) | 2024.10.22 |
---|---|
Python List sorted 와 sort 메소드 차이 및 사용 방법 (0) | 2024.08.20 |
Python 리스트에서 중복 원소 제거하기 set, dict.fromkeys (0) | 2024.08.14 |
한글 표기 가격을 만원 단위로 변환하는 Python 예제 (0) | 2024.08.13 |
특정 단어 뒤에 있는 단어 찾는 Python 예제 (0) | 2024.08.11 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
@webnautes :: 멈춤보단 천천히라도
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!