[python] map,filter,lambda식

young0_0·2022년 11월 8일
0

python

목록 보기
5/6
post-custom-banner

python 문법심화2

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


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

result = map(check_adult, people)
print(list(result))		#['청소년', '성인', '청소년', '청소년', '성인', '성인', '성인', '성인']
  • if 삼항연산자 ver
def check_adult(person):
    return '성인' if person['age'] > 20 else'청소년'
    
result = map(check_adult, people)
print(list(result))		#['청소년', '성인', '청소년', '청소년', '성인', '성인', '성인', '성인']

lambda식

  • 함수를 한줄로 만들어준다.
  • 리스트로부터 원소를 하나씩 꺼내서 함수를 적용시킨 다음, 그 결과를 새로운 리스트에 담아 준다.

    map(함수 , 리스트)

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

filter

  • True인 것들만 뽑기!

    filter(함수, 리스트)

result = filter(lambda x : (x['age'] >20),people)
print(list(result))
profile
그냥하기.😎
post-custom-banner

0개의 댓글