map(실행할내용, 실행시킬리스트)
실행시킬리스트를 하나씩 돌면서 실행할내용을 처리함.
단 이상태 그대로는 map으로 출력되기때문에 list()로 감싸줘야함
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))
위 코드의 함수부분은 삼항연산자로 아래처럼 줄일 수 있다.
def check_adult(person):
if person['age'] > 20:
return '성인'
else:
return '청소년'
result = map(check_adult, people)
print(list(result))
또 함수부분을 아래처럼 람다식으로 표현할 수 있다.
result = map(lambda person:'성인' if person['age'] > 20 else '청소년', people)
print(list(result))
lambda식을 쓸 때는 매개변수를 아래처럼 x처럼 써준다.(관형적으로)
result = map(lambda x:'성인' if person['age'] > 20 else '청소년', people)
print(list(result))
map과 유사하나 true값만 출력함
result = filter(lambda x: x['age'] > 20, people)
print(list(result))