내일배움캠프/Python

[Python]map, filter, lambda

dydatablog 2024. 11. 22. 16:24
728x90

map : 리스트의 모든 원소를 조작하기

lambda 함수 : def 키워드를 사용하여 함수를 정의하는 것보다 간결하고 간편한 방식으로 함수를 정의할 수 있다.

기본 형태:

lambda 인자 : 표현식
people = [
    {'name': 'bob', 'age': 20},
    {'name': 'carry', 'age': 38},
    {'name': 'john', 'age': 7},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby', 'age': 57},
    {'name': 'red', 'age': 32},
    {'name': 'queen', 'age': 25}
]

#1차 조작
def check_adult(person):
    if person['age'] > 20:
        return '성인'
    else:
        return '청소년'

result = map(check_adult, people)
print(list(result))

#2차 조작
def check_adult(person):
    return '성인' if person['age'] > 20 else '청소년'

result = map(check_adult, people)
print(list(result))

#3차 조작
result = map(lambda x: ('성인' if x['age'] > 20 else '청소년'), people)
print(list(result))

filter - 리스트의 모든 원소 중 특별한 것만 뽑기(map과 아주 유사한데, True인 것들만 뽑기!)

result = filter(lambda x: x['age'] > 20, people)
print(list(result))

#결과 값: [{'name': 'carry', 'age': 38}, {'name': 'ben', 'age': 27}, {'name': 'bobby', 'age': 57}, {'name': 'red', 'age': 32}, {'name': 'queen', 'age': 25}]

 

 

728x90

'내일배움캠프 > Python' 카테고리의 다른 글

[Python]리스트의 슬라이싱, 정렬  (1) 2024.12.09
[Python]함수의 매개변수  (0) 2024.11.22
[Python]삼항연산자  (0) 2024.11.22
[Python]튜플, 집합, f-string, try except  (0) 2024.11.22
[Python]함수  (0) 2024.11.21