시작하기무료로 시작하기

map() 함수

이제 mapping을 직접 해 볼까요?

zip()이 어떻게 동작하는지 기억하시나요? 주어진 이터러블들을 합쳐서 같은 인덱스의 항목들이 하나의 튜플에 담기게 합니다. 또한 결과는 가장 짧은 이터러블의 길이에 맞춰집니다.

여러분의 과제는 리스트, 문자열, 튜플 등 다양한 이터러블을 가변 개수로 받는 *args를 사용해 직접 my_zip() 함수를 정의하는 것입니다. zip 객체를 반환하는 대신, my_zip()은 미리 튜플들의 리스트를 반환해야 합니다.

참고: 실제로는 args에 이터러블이 들어 있는지 먼저 확인해야 하지만, 여기서는 간단히 생략하겠습니다.

이 연습은 강의의 일부입니다

Python으로 코딩 인터뷰 문제 연습하기

강의 보기

연습 안내

  • map()을 사용해 args로부터 이터러블의 lengths를 구하고, 최소 길이를 찾으세요.
  • 반복문 안에서, 같은 인덱스 i의 원소들을 가져오기 위해 map()으로 mapping을 생성하세요.
  • mapping을 튜플로 변환해 tuple_list에 추가하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

def my_zip(*args):
    
    # Retrieve Iterable lengths and find the minimal length
    lengths = list(map(____, ____))
    min_length = ____

    tuple_list = []
    for i in range(0, min_length):
        # Map the elements in args with the same index i
        mapping = map(____, args)
        # Convert the mapping and append it to tuple_list
        tuple_list.append(____(____))

    return tuple_list

result = my_zip([1, 2, 3], ['a', 'b', 'c', 'd'], 'DataCamp')
print(result)
코드 편집 및 실행