파이썬 리스트 조작(map), lambda식, filter

yuns·2022년 8월 31일

Python

목록 보기
7/8
post-thumbnail

map

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))

또 함수부분을 아래처럼 람다식으로 표현할 수 있다.


lambda식

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))

filter

map과 유사하나 true값만 출력함

result = filter(lambda x: x['age'] > 20, people)

print(list(result))

0개의 댓글