map

  • data_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},
          ]
  • map을 이용하여 리스트 결과값 출력 (1차)
def check_adult(person):
    if person['age'] >= 20:
        return '성인'
    else:
        return '청소년'
result = map(check_adult, people)
print(list(result))

> ['청소년', '성인', '청소년', '청소년', '성인', '성인', '성인', '성인']
  • map, if-삼항연산자 이용하여 리스트 결과값 출력 (2차)
def check_adult(person):
   	return '성인' if person['age'] >= 20 else '청소년'
result = map(check_adult, people)
print(list(result))
  • map, if-삼항연산자, lambda를 이용하여 리스트 결과값 출력 (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': 'bob', 'age': 20}, 
{'name': 'carry', 'age': 38}, 
{'name': 'ben', 'age': 27}, 
{'name': 'bobby', 'age': 57}, 
{'name': 'red', 'age': 32}, 
{'name': 'queen', 'age': 25}
]