bravo my life!

[Python] map() 함수, lambda() 함수 본문

Study/Python

[Python] map() 함수, lambda() 함수

losajjang 2022. 3. 7. 08:16
728x90

map 함수는 리스트의 요소를 지정된 함수로 처리해준다. 

 

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}
]

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

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

#아래의 내용이 출력된다.
#['청소년', '성인', '청소년', '청소년', '성인', '성인', '성인', '성인']

위의 내용은 lambda()를 사용하여 아래와 같이 변형하여 같단하게 사용할 수 있다.

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}
]

result = map(lambda person: ('성인' if person['age'] > 20 else '청소년'), people)
print(list(result))

#아래의 내용이 출력된다.
#['청소년', '성인', '청소년', '청소년', '성인', '성인', '성인', '성인']