<aside> 💡 다른 함수를 매개변수로 받는 함수를 고위 함수라고 합니다. 반대로, 다른 함수에 매개변수로 들어가는 함수를 콜백 함수라 부르기도 하죠.

</aside>

map

Untitled

def square(x):
    print(f"{x} * {x}") # 언제 실행되는지 확인
    return x * x

numbers_list = [1, 2, 3, 4, 5]
squared_numbers = map(square, numbers_list)

# map 클래스의 객체 - 지연 계산
squared_numbers_type = type(squared_numbers).__name__

pass
# 이터레이터의 일종임 확인
# 💡 실행창 확인!
squared_number_0 = next(squared_numbers)
squared_number_1 = next(squared_numbers)
# 아래를 활성화
squared_numbers_list = list(squared_numbers)

💡 컴프리헨션으로 대체

squared_numbers_list_2 = [x * x for x in numbers_list]
doubled_list = list(map(lambda x: x * 2, numbers_list))
words = ["Python", "Java", "JavaScript", "C++", "Ruby"]

upper_case_words_1 = list(map(lambda item: item.upper(), words))