데이터분석 study/Python
TIL(Today I Learned) 24.07.02
justdata
2024. 7. 2. 20:30
● map, filter,lambda식
- 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}
]
- 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))